Что подразумевается под индексированием в MongoDB? - PullRequest
3 голосов
/ 27 ноября 2010

Чтобы быть правдой, после ввода только заголовка Вопроса я посмотрел на индексирование БД в Вики. Теперь я знаю кое-что об индексировании в целом. Но все же у меня есть несколько вопросов по индексации MongoDB.

Что такое индексирование в MongoDB? Что именно он будет делать, если я проиндексировал коллекцию? Что я могу сделать с индексированием в MongoDB? Смогу ли я использовать его для поиска конкретных данных?

Может кто-нибудь объяснить это с помощью нижеследующего набора документов в Коллекции в каком-то MongoDB?

{ "_id":"das23j..", "x": "1", "y":[ {"RAM":"2 GB"}, {"Processor":"Intel i7"}, {"Graphics Card": "NVIDIA.."}]}

Спасибо !!!

1 Ответ

6 голосов
/ 27 ноября 2010

Индекс ускоряет поиск за счет дискового пространства. Думайте об индексе как о дополнительной копии данных атрибута (или столбца), но по порядку. Если у вас есть упорядоченная коллекция, вы можете выполнить что-то вроде бинарного поиска, который намного быстрее, чем последовательный поиск (который вам понадобится, если данные не были упорядочены). Как только вы найдете нужные данные с помощью индекса, вы можете обратиться к соответствующей записи.

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

Подробнее об индексации mongodb см. http://www.mongodb.org/display/DOCS/Indexes.

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