2013-12-17 28 views

回答

15

你仍然可以找到Neo4j的外殼,在那裏你可以運行profile命令。

無論是通過啓動bin/neo4j-shell

或者通過在左側的「(我)」信息菜單切換到舊的網絡用戶界面,選擇最下面的鏈接「WebAdmin的」連接到正在運行的服務器 - >http://localhost:7474/webadmin

分析信息稍後會添加到瀏覽器中,當它更容易閱讀和理解時。

+0

謝謝你,邁克爾。它爲我工作。 –

14

從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 

Cypher 2.2 profile

此外,您現在可以檢查查詢計劃,而無需實際執行它,例如驗證查詢,將改變數據庫。用查詢前面的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 

Cypher 2.2 explain

一個相關的新功能也是新的「基於成本的」查詢規劃,以及強制使用無論是「基於成本」或能力「基於規則的」查詢規劃所有查詢或任何特定查詢。該文檔指出,並非所有查詢都可以通過「基於成本的」查詢計劃程序來解決,在這種情況下,該設置將被忽略,並使用「基於規則」的計劃程序。見15.1 How are queries executed?

要強制使用任何查詢規劃的所有查詢,設置在conf/neo4j.properties(Neo4j的服務器)或通過調用.setConfig()方法您GraphDatabaseService對象上query.planner.version配置設置(Neo4j的嵌入式)。將其設置爲COSTRULE,並決定將哪個查詢計劃程序用回Neo4j,將其設置爲default(或者完全刪除該設置)。見24.5 Configuration Settings,Starting 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的相關章節。

相關問題