Когда предпочтительнее использовать стандартный индекс вместо фонового индекса в MongoDB? - PullRequest
10 голосов
/ 06 октября 2010

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

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

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

Когда предпочтительнее использовать стандартный индекс вместо фонового индекса в MongoDB.

1 Ответ

3 голосов
/ 06 октября 2010

Фоновые индексы кажутся немного медленнее,

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

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

...