2014-12-05 60 views
0

我正在建设一个图像数据库,其中包含具有UUID字段和其他图像属性,如EXIF数据的节点。我会一直通过UUID字段搜索图像节点,它会有一个索引。Neo4j的图像数据库 - 性能考虑

MATCH(img:Image {id:“ea191df3-f5e5-4a29-ae93-f850866f90d1”})RETURN img;

在Neo4j中这样做是否有任何性能劣势?

回答

2

假设您通过CREATE CONSTRAINT ON (image:Image) ASSERT image.id IS UNIQUE创建唯一性约束,您提出的建议非常有意义。 这样的约束不仅强制执行id唯一性,还自动创建id索引。

还有就是每次更新索引成本添加一个Image(或更改图像id),但除非你有比搜索许多更多的更新,储蓄在搜索图像要远远超过成本。

+1

我会使用一个约束,而不是索引,'CREATE CONSTRAINT ON(image:Image)ASEERT image.id IS UNIQUE' – subvertallchris 2014-12-06 17:21:37

+0

@subvertallchris感谢您的改进。我编辑了我的答案。 – cybersam 2014-12-06 17:39:13

+0

很高兴你在'assert'中发现了我的错字。 ;-) – subvertallchris 2014-12-07 00:56:04