Graph 用于图像数据库的Neo4j-性能注意事项

Graph 用于图像数据库的Neo4j-性能注意事项,graph,neo4j,nosql,Graph,Neo4j,Nosql,我正在考虑构建一个图像数据库,该数据库由具有UUID字段和其他图像属性(如EXIF数据)的节点组成。我将始终通过UUID字段搜索图像节点,该字段将具有索引 匹配(img:Image{id:“ea191df3-f5e5-4a29-ae93-f850866f90d1”)返回img 在Neo4j中执行此操作是否存在任何性能缺点?假设您通过对(image:image)ASSERT image.id创建唯一性约束是唯一的,那么您的建议是完全合理的。 这样的约束不仅强制执行id唯一性,还自动创建id索引 每

我正在考虑构建一个图像数据库,该数据库由具有UUID字段和其他图像属性(如EXIF数据)的节点组成。我将始终通过UUID字段搜索图像节点,该字段将具有索引

匹配(img:Image{id:“ea191df3-f5e5-4a29-ae93-f850866f90d1”)返回img


在Neo4j中执行此操作是否存在任何性能缺点?

假设您通过
对(image:image)ASSERT image.id创建唯一性约束是唯一的
,那么您的建议是完全合理的。 这样的约束不仅强制执行
id
唯一性,还自动创建
id
索引


每次添加
图像
(或更改图像
id
)时都需要更新索引,但除非更新次数比搜索次数多得多,否则搜索图像时节省的成本应该远远超过该成本。

我会使用约束而不是索引,
在(图像:图像)上创建约束ASEERT image.id是唯一的
@subversity,谢谢您的改进。我已经编辑了我的答案。很高兴你在
assert
;-)中发现了我的打字错误