我有以下Cypher查询:
PROFILE MATCH (p:Profile) MATCH (v:Vacancy:Decision {id: 17210}) WHERE NOT exists((v)<-[:POSSIBLE_PROFILE]-(p)) RETURN p, v;
而我的测试数据库里只有5000个配置文件计划:
我关心的是绿色矩形中突出显示的DB命中数。你能告诉我如何优化这个查询吗?
qco9c6ql1#
您的查询在all:Profile节点和:Vacency:Decision节点之间创建了一个carbohydrate产品,然后从它们中的每一个展开,检查它们是否未连接。匹配来自v的可能的profile,然后匹配所有不是这些的Profile节点可能会更有效。大概是这样的:
PROFILE MATCH (v:Vacancy:Decision {id: 17210})<-[:POSSIBLE_PROFILE]-(possible) WITH v, collect(possible) as toExclude MATCH (p:Profile) WHERE NOT p IN toExclude RETURN p, v;
1条答案
按热度按时间qco9c6ql1#
您的查询在all:Profile节点和:Vacency:Decision节点之间创建了一个carbohydrate产品,然后从它们中的每一个展开,检查它们是否未连接。
匹配来自v的可能的profile,然后匹配所有不是这些的Profile节点可能会更有效。大概是这样的: