1.对neo4j进行预热,执行以下语句:
MATCH (n) OPTIONAL MATCH (n)-[r]->() RETURN count(n.name) + count(r);
2.对节点添加索引
查看索引:"call db.indexes"
删除索引:'drop index on:Person(name)'
创建索引:'create index on:Person(name)'
添加索引后执行:'explain+(查询语句)',显示NodeIndexSeek表示使用了索引。
或执行:':sysinfo'进行查看,当Index Store值表大则表示生效,需重启数据库。
3.对查询语句进行优化:
cpy="match (n),(m) where n.name='张三' and m.name='李四' return n,m"
变为
cpy="match (n{name:'张三'}),(m{name:'李四})return n,m"
首个label,即n,如果是person,建议将语句修改为:
cpy="match (n:person{name:'张三'}),(m:person{name:'李四})return n,m"
比上述会快一些,判断条件加的越多,速度越慢。