Эффективность индексации поля и подполя - PullRequest
3 голосов
/ 03 июня 2011

Документы такого типа хранятся в коллекции:

{
    _id : ...
    sender: {memberid:<something>, name:<something>}
}

Я индексирую коллекцию по подполю sender.memberid.Я где-то читал, что индексирование по подфайлу менее эффективно (с точки зрения производительности), чем по полю, поэтому изменение структуры документа на:

{
    _id: ...
    senderid: ...
    sendername: ...
}

и индексация на senderid приведет к более быстрой вставке и поискуНО статья не объясняла почему.Есть ли какая-то разница в этих двух подходах, и если да, то почему?

1 Ответ

2 голосов
/ 03 июня 2011

Индексирует только хранение эффектов.Чтение должно быть только быстрее, а не медленнее.Хранение получает небольшое снижение скорости, потому что индекс должен быть обновлен.Но это для каждого создаваемого вами индекса.

Если индекс находится на верхнем уровне или в каком-то встроенном документе, это не имеет значения.

В противном случае это звучит как преждевременнооптимизация .Используйте базу данных, как предполагалось, и создавайте встроенные документы, и их индексация предназначена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...