如何强制Neo4j使用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个索引?
在此先感谢。
答
目前新只使用一个索引的最大决定从哪里开始走中的图形查询决议的一部分。这在未来可能会改变。您可以通过USE INDEX提供两个或更多索引中的哪一个使用Neo提示,但此时您无法使用多个索引。
答
您可以通过在PROFILE
之前预先设置查询来检查索引是否用于查找节点。
你可以扔的查询优化器的提示是这样的......
MATCH (a:labelA {idA: valA}), (b:labelB {idB: valB})
USING INDEX a:LabelA(idA)
USING INDEX b:LabelB(idB)
CREATE (a)-[:Rel]->(b)