The scenario is that I am trying to pull a bunch of data out of an existing 
database and storing it in an orientDb which is running embedded in my 
application. I am running into some performance problems, specifically when 
I add queries to verify that the data I am about to insert into orient is 
unique the performance is killing me.

I am only dealing with 7000 rows of data in my database as a test case, The 
below snippet of code is showing what I am doing. Assume that of the 7000 
rows there are 1500 unique user ID's. When I just do inserts and dont worry 
about duplicates This runs in 7 seconds. When I add the query its taking 
~20mins. 

I was going through the performance tuning suggestions trying to find an 
answer... I figure I must be doing something wrong.


OServer server = OServerMain.create();

server.startup(...);

server.activate();
graph = new OrientGraphNoTx("plocal:/tmp/test", "admin", "admin");

graph.getRawGraph().declareIntent(new OIntentMassiveInsert());
graph.getRawGraph().setValidationEnabled(false);

graph.getRawGraph().setRetainRecords(false);

graph.createKeyIndex("id", Vertex.class, new Parameter<String, String>(
"type", "UNIQUE"), new Parameter<String, String>("class", "User"));

//Read user from existing store and create object (mundane details)
User dbuser = fetchUserFromOutside();

Vertex user = null;

for (Vertex v : graph.query().has("id", dbuser.id).limit(1).vertices())

{
   user = v;
}

if(user == null){

   user =graph.addVertex("class:User","id", dbuser.id);

}



-- 

--- 
You received this message because you are subscribed to the Google Groups 
"OrientDB" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to