neo4j查询优化流程
发布时间
阅读量:
阅读量
在处理大规模数据库查询时,如何提升查询速度已成为必须解决的关键问题。
一、profile性能分析
通过执行计划对查询进行剖析时,有两项Cypher语句可供选择
(1)explain==尚未掌握应用方法
若仅希望了解查询的执行方案,而不实际执行该语句,可在查询语句前添加EXPLAIN。此时,该语句不会产生任何数据结果,也不会对数据库内容造成影响。
(2)profile
如需实际运行查询并观察各运算符所消耗的资源情况,可采用PROFILE命令。此时系统将执行该语句,并记录传递至每个运算符的数据行数以及各运算符与存储层交互的次数以获取所需信息。需要注意的是,使用PROFILE会增加额外的资源开销,因此除非正在进行性能调优工作,否则应避免使用此功能。
二、Profile
profile MATCH path=allshortestpaths((n:NodeNetLi)-[r:relnetli*..1]->(m)) where n.name="谷子" and m.name="口粮" RETURN reduce(totalAge = 0, rr IN relationships(path)| totalAge + rr.lenovostrength) AS reduction,relationships(path)

还没有任何评论哟~
