【问题标题】:Is there a way to show cypher execution plan?有没有办法显示密码执行计划?
【发布时间】:2013-12-17 07:48:32
【问题描述】:

我看到一个主题 (Understanding Neo4j Cypher Profile keyword and execution plan) 提到了 profile 关键字。

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

Peter 写道,它还没有完全实现。

会得到支持吗?

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

【问题讨论】:

    标签: neo4j cypher


    【解决方案1】:

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

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

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

    分析信息将在稍后添加到浏览器中,以便更易于阅读和理解。

    【讨论】:

    • 目前情况如何?请告诉我,如果个人资料功能完成了吗?
    【解决方案2】:

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

    您现在可以直接在 Neo4j 浏览器 repl 中使用 PROFILE 命令和密码查询来执行查询并查看执行计划的可视化。

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

    此外,您现在无需实际执行即可检查查询计划,例如验证会更改数据库的查询。使用查询前的EXPLAIN 命令执行此操作。请参阅文档中的15.2 How do I profile a query?

    EXPLAIN
    MATCH (n:Peter {foo: 'Paul'})
    SET n.foo = 'Mary', n.bar = 'Paul'
    RETURN n.foo, ID(n)
    
    ------------------------------------------
    // Nothing returned, query is not executed
    

    一个相关的新功能也是新的“基于成本”的查询规划器,以及强制对所有查询或任何特定查询使用“基于成本”或“基于规则”的查询规划器的能力.该文档指出,并非所有查询都可以通过“基于成本”的查询计划器解决,在这种情况下,该设置将被忽略并使用“基于规则的”计划器。见15.1 How are queries executed?

    要对所有查询强制使用任一查询计划程序,请在 conf/neo4j.properties(Neo4j 服务器)中设置 query.planner.version 配置设置,或在您的 GraphDatabaseService 对象(嵌入 Neo4j)上调用 .setConfig() 方法。将其设置为COSTRULE,并将决定使用哪个查询计划器返回给Neo4j,将其设置为default(或完全删除该设置)。见24.5 Configuration SettingsStarting an embedded database with configuration settings

    要对特定查询强制使用任一查询计划程序,请在查询前添加CYPHER planner=costCYPHER planner=rule。见15.1 How are queries executed?

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

    您可以使用任一查询计划器进行PROFILEEXPLAIN 查询,并查看它们在实现您的查询方面的任何差异。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-02-11
      • 2011-02-08
      • 1970-01-01
      • 1970-01-01
      • 2016-07-18
      • 2020-08-29
      • 2021-05-07
      相关资源
      最近更新 更多