2014-12-05 4 views
0

Я ищу создание базы данных изображений, которая состоит из узлов с полем UUID и другими свойствами изображения, такими как данные EXIF. Я всегда буду искать узлы изображений через поле UUID, которое будет иметь индекс.Neo4j для базы данных изображений - соображения производительности

MATCH (img: Изображение {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 (изображение: изображение) ASEERT image.id IS UNIQUE' – subvertallchris

+0

@subvertallchris Спасибо за улучшение. Я отредактировал свой ответ. – cybersam

+0

Рад, что вы нашли мою опечатку в 'assert'. ;-) – subvertallchris

Смежные вопросы