Это всегда быстрее создавать индексы после загрузки данных?

dba.stackexchange https://dba.stackexchange.com/questions/69299

Вопрос

У меня есть большое количество записей (~ 1 миллиардов), которые мне нужно загрузить в MongoDB (на самом деле токумкс, но что угодно).У меня около 6 различных индексов, которым мне нужно создать в коллекции.Это всегда быстрее загружать данные, а затем создать индексы?Когда я смотрю на Logfile Mongo, кажется, что Mongo делает какую-то большую работу (возможно, подсчет строки?) Перед началом начала создания индекса, и он делает это для каждого индекса, который я создаю.

Всегда будет быстрее создавать индексы после загрузки данных?

Если я жду до загрузки данных, будет ли скорее создать каждый индекс в фоновом режиме одновременно скорее создавать их, чем один за другим?

Это было полезно?

Решение

Вернуться в день, когда мы будем набрать нагрузки наши данные таким образом:

  1. Индексы падения
  2. Загрузить данные в порядке, для которого будет построен кластерный индекс (то есть, вы экспортируете данные точным образом)
  3. После завершения загрузки создайте кластерный индекс
  4. Далее, создайте любые дополнительные не кластерные индексы
  5. время Миллера (это было до того, как я мог позволить себе достойное пиво)

    Этот метод всегда доказал быстрее, чем оставляя индексы на месте.Однако это было для Sybase и SQL Server.Я представляю, что другие системы будут похожи, но я не могу сказать наверняка.

Другие советы

Если вы делаете большой, операция нагрузки.Дополнительная информация доступна в документации в документации на http:// docs.tokutek.com / tokumx / tokumx-commands.html # tokumx-new-commands-loader

Лицензировано под: CC-BY-SA с атрибуция
Не связан с dba.stackexchange
scroll top