所以我从这篇文章中创建了一个日期维度 a link
我修改了它并将日期戳添加到Day节点,即月/日/年(字符串)
我在Year.year,Month.month,Day.day&&和day.datestamp
当我运行此查询时:
MATCH p =(day2:Day {datestamp:'1/1/2015'}) - [:NEXT *] - >(day {day:2}) 返回长度(p) 限制5
执行
需要1667 ms当我将查询修改为:
MATCH p =(day2:Day {datestamp:'/ 1/1/2015'}) - [:NEXT *] - >(day {datestamp:'1/2/2015'}) 返回长度(p)
运行约一分钟后,它以未知错误消息结束。
我的架构是:
索引
ON:日(天)ONLINE
ON:日(日期戳)ONLINE
ON:月份(月份)ONLINE
ON:年(年)在线无约束
任何想法我做错了什么?
答案 0 :(得分:0)
我想我已经明白了。
看起来运行1667ms的第一个查询仅运行并完成,因为限制5,它找到5条记录并停止进一步执行。
而另一个人继续前进,直到它用尽果汁。
我认为在这种情况下的解决方案是约束,表明datestamp是唯一的,这应该阻止进一步执行。
还是有趣的是,考虑到有大约2600条记录与HAS_NEXT相关联,因此通过这些关系不应该花费很长时间才能发现只有1条记录与该查询相匹配。