2016-11-15 24 views
1

沒有使用上的Neo4j如何找到Neo4j的查詢不使用索引

索引查找查詢有沒有辦法找出查詢不使用對Neo4j的指標,我真的很感激,如果任何人可以指導我在此。

+0

在Neo4j的3.0.x和向上的事實(甚至一些x版本,不知道哪個版本引入的模式索引) ,在可能的情況下使用索引,而在查詢中沒有任何明確的地方使用它們。因此,查詢具有索引或不具有索引的東西看起來幾乎相同(儘管如此,舊版手動索引的使用是一個單獨的問題)。無論如何,你的問題還是比較模糊的,你沒有給我們任何關於你的數據,標籤,屬性或你正在嘗試構建的查詢的洞察,甚至沒有告訴我們爲什麼你會問這個問題。 – InverseFalcon

+0

感謝您的寶貴答覆,我想知道有沒有什麼辦法可以記錄不使用索引的查詢,我們爲查詢配置索引,但我試圖找到一種方法來記錄不使用索引的查詢。我不能在這裏發佈quires,因爲我有100個... – Renjith

回答

0

啓動Neo4j瀏覽器,然後輸入:schema。您應該得到所有索引和約束的列表 - 在哪些標籤上添加以及哪些屬性。它看起來像這樣的東西,如果沒有添加索引:

:schema 
No indexes 
No constraints 

它看起來像這個,如果一個索引是人標註節點上添加,在屬性名

Indexes 
ON :Person(name) ONLINE 
No constraints 

爲了檢查您的索引實際上在查詢中使用,您應該PROFILE查詢。例如,如果在按屬性檢索節點時看到多於2個數據庫命中,並且您有100個節點,則它不使用索引。 這樣做的原因可能是您要查詢的修改後的字符串,像這樣

MATCH (n:Person) where reverse(n.name) = "myname"