我正在考虑通过关系参数进行过滤。 例如:
如果我有一个包含
的图表Create (n:Car)-[r:DRIVES_ON {side: 'left'}]->(m:Country {Name: 'England'}) return n,m;
我想使用
进行提取Match (n:Car)-[r:DRIVES_ON]-(m:Country) where r.side ='left' return r;
由于性能原因,这是一个不好的主意吗?
答案 0 :(得分:4)
由于只有两个选项,我只有两个不同的关系:
(Car)-[:DRIVES_ON_LEFT]->(Country)
(Car)-[:DRIVES_ON_RIGHT]->(Country)
但是了解更多有关您域名的信息会很高兴。
答案 1 :(得分:4)
妮可是对的,
属性数据当前与磁盘上的关系分开存储,而类型存储在关系记录中。因此,只检查类型的速度要快得多,因为不需要加载任何属性(延迟加载)。
因此,在高性能遍历的情况下加载属性可能会受到伤害(在冷缓存上)并使用更多内存来填充缓存。 ESP。因为所有属性一次加载,至少是适合属性记录的属性。默认情况下,不会加载较大的数组和较大的字符串,而是在访问时延迟。