如何在Neo4j中优先过滤
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Neo4j中优先过滤相关的知识,希望对你有一定的参考价值。
我正在进行查询优化,我需要优先考虑我的过滤器,即应用这些过滤器的顺序。例如,如果我有一个属性prop1
和一个关系rel1
,我需要首先在prop1
上应用过滤器然后rel2
,那我该怎么办?
这是我的查询:
MATCH (e:Entity)
where e.prop1 > constant1
and (e)-[:rel1]->(:Entity2)
return e.entity_id
我需要这个,因为如果我首先应用prop1
过滤器,那么搜索空间将大幅减少,这应该优化性能。有人可以帮帮我吗?
答案
约束按您指定的顺序应用。在你的情况下,首先执行e.prop1 > constant1
。
由于您正在使用和AND
运算符,当第一次测试(AND左侧的测试)失败时,第二次测试不会执行。请记住,当使用AND
时,两个条件(左和右)应该是true
。否则,AND表达式将是false
。这样,当第一个失败时,不需要执行第二个约束。
以上是关于如何在Neo4j中优先过滤的主要内容,如果未能解决你的问题,请参考以下文章