cancel
Showing results for 
Search instead for 
Did you mean: 

Head's Up! These forums are read-only. All users and content have migrated. Please join us at community.neo4j.com.

APOC vs CYPHER

what is the different between operation in APOC or CYPHER in terms of performance
ex:
CALL apoc.search.node('{Person: "id",Person: "id"}','exact','5686743') YIELD node AS n2
MATCH (p:Person {id:"5686743"}) RETURN p

2 REPLIES 2

webtic
Graph Fellow

I created two files; file A with 10 lines of:
CALL apoc.search.node('{TestPerson: "id",TestPerson: "id"}','exact','5686743') YIELD node AS n2

and file B with 10 lines of:

MATCH (p:TestPerson {id:"5686743"}) RETURN p

then I ran each script in the Neo4J terminal of a test database with:

time cat A | ./cypher-shell -u neo4j -p nope

and

time cat B | ./cypher-shell -u neo4j -p nope

A: 0m1.063s, 0m1.026s, 0m1.029s
B: 0m1.033s, 0m1.021s, 0m1.030s

To be really conclusive we would need to test more, my assumption is that the time you see is mostly the overhead of initialising the cypher-shell java environment and authenticating to the database.

I would use Cypher where possible and APOC where needed. If you hit bottlenecks in performance its probably neither APOC or Cypher but the complexity of the data.

Thank you very much i will make some test on larger data sets
And i will keep you up to date