Table scan in RDBM
Collection scan in MongoDB
Both are a death for performance
Theory of indexing:
We keep our keys sorted.
Indexes in Mongo db are OrderedList of Keys.
Мы знаем по каким полям мы часто делаем выборку, поэтому для таких полей мы создаем индексы.
Типы идексов в Mongo:
Single Field Indexes
A single field index only includes data from a single field of the documents in a collection. MongoDB supports single field indexes on fields at the top level of a document and on fields in sub-documents.
Compound Indexes
A compound index includes more than one field of the documents in a collection.
Multikey Indexes
A multikey index references an array and records a match if a query includes any value in the array.
Geospatial Indexes and Queries
Geospatial indexes support location-based searches on data that is stored as either GeoJSON objects or legacy coordinate pairs.
Text Indexes
Text indexes supports search of string content in documents.
Hashed Index
Hashed indexes maintain entries with hashes of the values of the indexed field.
Эта отсортированная структура сохраняется на диске и по ней мы намного быстрее найдем ссылку в последовательности полных записей колекции на диске.
Например мы создаем ключ|индекс на поля
name, hear_color, age
На диск у нас сохраняется отсортированый список имен, в каждой ячейке имени хранится отсортированный список цвета волос, а в каждой ячейке цвета волос хранятся отсортированные возраста.
А уже на каждой ячейке возраста хранятся ссылки на целые записи всей колекции.
Collection scan in MongoDB
Both are a death for performance
Theory of indexing:
We keep our keys sorted.
Indexes in Mongo db are OrderedList of Keys.
Мы знаем по каким полям мы часто делаем выборку, поэтому для таких полей мы создаем индексы.
Типы идексов в Mongo:
Эта отсортированная структура сохраняется на диске и по ней мы намного быстрее найдем ссылку в последовательности полных записей колекции на диске.
Например мы создаем ключ|индекс на поля
name, hear_color, age
На диск у нас сохраняется отсортированый список имен, в каждой ячейке имени хранится отсортированный список цвета волос, а в каждой ячейке цвета волос хранятся отсортированные возраста.
А уже на каждой ячейке возраста хранятся ссылки на целые записи всей колекции.


