Mongodb - встроенные против индексов - PullRequest
0 голосов
/ 22 февраля 2012

Мой вопрос довольно прост. Я создаю свое первое приложение с mongodb. До сих пор я всегда использовал sql. Я прочитал много информации о встраивании документов по сравнению со связанными документами.

Мой вопрос к ветеранам mongodb: есть ли огромная разница в скорости / производительности, если я использовал индексированные ссылки / запросы, применяемые к встроенным документам? Если есть огромная разница, не могли бы вы объяснить, почему? Спасибо.

Опять же, я новичок в mongodb и просто не хочу встать не с той ноги. благодарю вас.

1 Ответ

0 голосов
/ 22 февраля 2012

Да, существует огромная разница между ссылками и внедренными документами.

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

DBRef - это просто _id документа в другой коллекции.Для получения «связанного» документа потребуется дополнительная передача туда и обратно и поиск диска.См. Спецификацию для DBRefs здесь:

http://www.mongodb.org/display/DOCS/Database+References#DatabaseReferences-DBRef

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

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