neo4j 查询慢问题解决

neo4j刚启动数据是冷的需要预热

使用bin/neo4j-shell 进入neo4j命令行界面,执行以下语句预热:

MATCH (n)
OPTIONAL MATCH (n)-[r]->()
RETURN count(n.prop) + count(r.prop);

参考:https://neo4j.com/developer/kb/warm-the-cache-to-improve-performance-from-cold-start/

索引问题

首先explain以下,看是否使用了索引,如果没有要添加索引,看下图:
neo-no-index

其中,圈中部分NodeByLabelScan表示没有使用索引,这时要添加索引:

CREATE INDEX ON :Person(uid)

参考:http://neo4j.com/docs/developer-manual/current/cypher/schema/index/#schema-index-create-a-single-property-index

添加索引后再次explain,如下图:
neo-index
此时,NodeIndexSeek表示使用了索引,这时再查询就快了。

最后,附张示例项目图,是个app界面IMG_1320

欢迎下载,人脉通

(全文完)

(转载本站文章请注明作者和出处 neo4j 查询慢问题解决