2016-01-21 47 views
2

我的意思是,如果我有兩個指標:如何強制Neo4j使用2個索引?

CREATE INDEX ON :labelA(idA) 
CREATE INDEX ON :labelB(idB) 

而且我下面的查詢:

MATCH (n:labelA {idA: valA}) 
MATCH (n:labelB {idB: valB}) 
CREATE (n)-[:Rel]->(B) 

是否Neo4j的只是使用的指標之一?如果是,我該如何強制neo4j使用2個索引?

在此先感謝。

回答

2

目前新只使用一個索引的最大決定從哪裏開始走中的圖形查詢決議的一部分。這在未來可能會改變。您可以通過USE INDEX提供兩個或更多索引中的哪一個使用Neo提示,但此時您無法使用多個索引。

1

您可以通過在PROFILE之前預先設置查詢來檢查索引是否用於查找節點。

你可以扔的查詢優化器的提示是這樣的......

MATCH (a:labelA {idA: valA}), (b:labelB {idB: valB}) 
USING INDEX a:LabelA(idA) 
USING INDEX b:LabelB(idB) 
CREATE (a)-[:Rel]->(b)