因此,我在Neo4j中有15个不同的标签,代表了15个真实世界的业务对象。所有这些对象都是相互关联的。每个对象(标签)都有数千个节点。我想要做的是在所有这些标签之间进行可选匹配并获取相关数据。该查询运行速度非常缓慢,全部15个选定,并与3-4对象类型正常工作。Neo4j查询优化 - 15个差异标签
因此,通常这是使用较少的对象类型的查询工作正常。
MATCH (incident:Incidents)
WHERE incident.incident_number IN ["INC000005590903","INC000005590903"]
MATCH (device:Devices)
WHERE device.deviceid_udr in ["RE221869491800Uh_pVAevJpYAhRcJ"]
MATCH (alarm:Alarms)
WHERE alarm.entryid_udr in ["ALM123000000110"]
MATCH incident-[a]-alarm
MATCH device-[b]-alarm
MATCH incident-[c]-device
RETURN incident.incident_number, device.deviceid,alarm.entryid_udr
当我做查询以查找15种不同对象类型之间的相关数据时,它运行速度非常慢。你有什么建议,我可以如何解决这个问题
您是否拥有Incidents.incident_number,Devices.deviceid_udr和Alarms.entryid_udr上的索引? – JohnMark13 2014-10-06 18:00:22
是的,我在所有这些领域添加了索引。 – ajinkhya 2014-10-06 19:48:26
到目前为止,您添加的内容应该很慢(甚至可以扩展),您可以发布无法正常工作的查询吗?慢多慢? – JohnMark13 2014-10-06 20:37:56