Это всегда быстрее создавать индексы после загрузки данных?
-
11-12-2019 - |
Вопрос
У меня есть большое количество записей (~ 1 миллиардов), которые мне нужно загрузить в MongoDB (на самом деле токумкс, но что угодно).У меня около 6 различных индексов, которым мне нужно создать в коллекции.Это всегда быстрее загружать данные, а затем создать индексы?Когда я смотрю на Logfile Mongo, кажется, что Mongo делает какую-то большую работу (возможно, подсчет строки?) Перед началом начала создания индекса, и он делает это для каждого индекса, который я создаю.
Всегда будет быстрее создавать индексы после загрузки данных?
Если я жду до загрузки данных, будет ли скорее создать каждый индекс в фоновом режиме одновременно скорее создавать их, чем один за другим?
Решение
Вернуться в день, когда мы будем набрать нагрузки наши данные таким образом:
- Индексы падения
- Загрузить данные в порядке, для которого будет построен кластерный индекс (то есть, вы экспортируете данные точным образом)
- После завершения загрузки создайте кластерный индекс
- Далее, создайте любые дополнительные не кластерные индексы
- время Миллера (это было до того, как я мог позволить себе достойное пиво)
Этот метод всегда доказал быстрее, чем оставляя индексы на месте.Однако это было для Sybase и SQL Server.Я представляю, что другие системы будут похожи, но я не могу сказать наверняка.
Другие советы
Если вы делаете большой, операция нагрузки.Дополнительная информация доступна в документации в документации на http:// docs.tokutek.com / tokumx / tokumx-commands.html # tokumx-new-commands-loader