2015-02-18 3 views
0

Я просмотрел всю документацию, но не могу понять, действительно ли это происходит или нет. Если я удалю индекс из коллекции в MongoDB, удалит ли он файлы индекса сразу? Исправлено ли пространство?Исправлено ли пространство, когда я удаляю индекс в MongoDB?

ответ

2

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

Если вам необходимо вернуть дисковое пространство, используйте repairDatabase command, который обеспечивает уплотнение в качестве побочного эффекта его проверки/исправления.

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

Смежные вопросы