2014-01-30 2 views
0

Я новичок в MongoDB. Я прочитал, что индексы ограничивают проверяемые документы, когда мы запрашиваем некоторые данные. Ссылка: - http://docs.mongodb.org/manual/core/indexes-introduction Я смущаю его с критерием запроса, поскольку он ограничивает данные. Например: - db.users.find({score:{"$lt":30}}). В этом руководстве приведен пример и поясняется в смысле индексов. Что такое индексы и как они отличаются от критериев запроса? СпасибоIndex Vs Query Criteria

+1

http://stackoverflow.com/questions/1108/how-does-database-indexing-work это то, что вам нужно – Sammaye

+0

@Sammaye Спасибо – Saumyaraj

ответ

0

Критерии запроса ограничивают данные, которые отправляются клиенту с сервера, но он должен проверять каждый документ для соответствия. С другой стороны, индекс ограничивает сканирование документов тем, что имеет специальную структуру данных (B-tree in mongodb). Ссылка: - http://docs.mongodb.org/manual/core/indexes-introduction

0

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

Предположим, у вас есть коллекция без индексов, и вы делаете db.users.find ({score: {$ lt: 30}}). Без индекса вам нужно будет отсканировать всю коллекцию, чтобы ответить на запрос, обрабатывая все документы независимо от их значения. С индексом «оценка» запрос сможет использовать индекс для развертки ТОЛЬКО документов, соответствующих вашему запросу, тем самым выполняя более быстрые действия.