有没有办法显示密码执行计划?

gru*_*rol 14 neo4j cypher

我已经看到了一个主题(了解Neo4j Cypher Profile关键字和执行计划),其中提到了profile关键字.

我无法在Neo4j 2.0.0RC1社区中使用它.

彼得写道,它没有完全实现.

会不会得到支持?

我的意思是,在调整查询时观察计划的变化会很有趣......

Mic*_*ger 19

您仍然可以找到neo4j shell,您可以在其中运行该profile命令.

通过启动连接到正在运行的服务器 bin/neo4j-shell

或者通过切换到左侧"(i)"信息菜单中的旧web-ui并选择最下面的链接"webadmin" - > http://localhost:7474/webadmin

分析信息将在以后更容易阅读和理解时添加到浏览器中.


jja*_*erg 17

从Neo4j 2.2开始,还有其他的分析工具.一些仅通过neo4j-shell或REST端点可用的功能现在也可以在Neo4j浏览器中使用,并且一些功能是全新的.

现在,您可以PROFILE直接在Neo4j-browser repl中使用带有cypher查询的命令来执行查询并查看执行计划的可视化.

PROFILE
MATCH (n:Peter {foo: 'Paul'})
RETURN n.bar, ID(n)

-------------
n.bar   ID(n)
Mary    951
Run Code Online (Sandbox Code Playgroud)

Cypher 2.2简介

此外,您现在可以检查查询计划而无需实际执行它,例如验证将更改数据库的查询.使用EXPLAIN命令前置的命令执行此操作.请参见15.2如何配置查询?来自文档.

EXPLAIN
MATCH (n:Peter {foo: 'Paul'})
SET n.foo = 'Mary', n.bar = 'Paul'
RETURN n.foo, ID(n)

------------------------------------------
// Nothing returned, query is not executed
Run Code Online (Sandbox Code Playgroud)

Cypher 2.2解释

相关的新功能还包括新的"基于成本"的查询计划程序,以及强制为所有查询或任何特定查询使用"基于成本"或"基于规则"的查询计划程序的功能.该文档指出,并非所有查询都可以由"基于成本"的查询计划程序解决,在这种情况下,将忽略该设置并使用"基于规则"的计划程序.请参见15.1如何执行查询?

要强制为所有查询使用查询计划程序,请query.planner.versionconf/neo4j.properties(Neo4j服务器)中设置配置设置,或者通过调用对象.setConfig()上的方法GraphDatabaseService(Neo4j embedded).将其设置为COSTRULE,并决定使用哪个查询规划器返回Neo4j,将其设置为default(或完全删除设置).请参见24.5配置设置,使用配置设置启动嵌入式数据库.

要强制为特定查询使用任一查询规划器,请在CYPHER planner=cost或前面添加查询CYPHER planner=rule.请参见15.1如何执行查询?

CYPHER planner=cost
MATCH (n:Peter {foo: 'Paul'})
RETURN n.bar, ID(n)
Run Code Online (Sandbox Code Playgroud)

你可以PROFILE或者EXPLAIN有任何查询规划者的查询,看看他们是如何实现你的查询任何差异.

有关解释执行计划的帮助,请参阅文档的相关章节,16.执行计划.