我看過一個主題(Understanding Neo4j Cypher Profile keyword and execution plan),其中個人資料關鍵字被提及。有沒有辦法顯示密碼執行計劃?
我無法在Neo4j 2.0.0RC1社區中使用它。
彼得寫道它沒有完全實施。
它會永遠被支持嗎?
我的意思是,它可能是值得關注的規劃變化,我們調整查詢...
我看過一個主題(Understanding Neo4j Cypher Profile keyword and execution plan),其中個人資料關鍵字被提及。有沒有辦法顯示密碼執行計劃?
我無法在Neo4j 2.0.0RC1社區中使用它。
彼得寫道它沒有完全實施。
它會永遠被支持嗎?
我的意思是,它可能是值得關注的規劃變化,我們調整查詢...
你仍然可以找到Neo4j的外殼,在那裏你可以運行profile
命令。
無論是通過啓動bin/neo4j-shell
或者通過在左側的「(我)」信息菜單切換到舊的網絡用戶界面,選擇最下面的鏈接「WebAdmin的」連接到正在運行的服務器 - >http://localhost:7474/webadmin
分析信息稍後會添加到瀏覽器中,當它更容易閱讀和理解時。
從Neo4j 2.2開始,還有其他配置工具可用。一些僅通過neo4j-shell或REST端點可用的功能現在也可以在Neo4j瀏覽器中使用,並且一些功能是全新的。
現在,您可以直接在Neo4j瀏覽器代碼中將您的密碼查詢與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的服務器)或通過調用.setConfig()
方法您GraphDatabaseService
對象上query.planner.version
配置設置(Neo4j的嵌入式)。將其設置爲COST
或RULE
,並決定將哪個查詢計劃程序用回Neo4j,將其設置爲default
(或者完全刪除該設置)。見24.5 Configuration Settings,Starting an embedded database with configuration settings。
要強制將某個查詢計劃程序用於特定查詢,請在CYPHER planner=cost
或CYPHER planner=rule
之前加上查詢。見15.1 How are queries executed?
CYPHER planner=cost
MATCH (n:Peter {foo: 'Paul'})
RETURN n.bar, ID(n)
您可以PROFILE
或EXPLAIN
查詢與任何查詢規劃師,看看他們是如何實現你的查詢任何差異。
有關解釋執行計劃的幫助,請參閱文檔16. Execution Plans的相關章節。
謝謝你,邁克爾。它爲我工作。 –