Pregunta

Tengo una gran cantidad de registros (~ 1 mil millones) que necesito cargar en MongoDB (en realidad Tokumx, pero lo que sea).Tengo unos 6 índices diferentes que necesito crear en la colección.¿Siempre es más rápido cargar los datos y luego crear los índices?Cuando miro el archivo de registro de Mongo, parece que Mongo hace algún tipo de operación grande (tal vez un recuento de filas) antes de iniciar la creación de índice, y lo hace por cada índice que creo.

¿Siempre será más rápido crear los índices después de cargar los datos?

Si espero hasta después de cargar los datos, ¿sería más rápido crear cada índice en el fondo al mismo tiempo que se crea que uno por uno?

¿Fue útil?

Solución

En el día en que cargaríamos nuestros datos de esta manera:

  1. índices de caída
  2. Los datos de carga en el orden para los cuales se construiría el índice agrupado (es decir, usted exporta los datos de manera precisa)
  3. Después de completar la carga, cree el índice agrupado
  4. Siguiente, cree cualquier índice adicional no agrupado
  5. Miller Time (esto fue antes de poder permitirme la cerveza decente)

    El método siempre resultó más rápido que dejar los índices en su lugar.Sin embargo, esto fue para Sybase y SQL Server.Me imagino que otros sistemas serían similares, pero no puedo decir con certeza.

Otros consejos

Si está haciendo una operación grande de carga, es más rápido utilizar el cargador Tokumx Bulk, ya que solo requiere un paso sobre los datos para crear tanto el índice de clave principal como los índices secundarios.Más información está disponible en la documentación en http:// docs.tokutek.com / tokumx / tokumx-commands.html # tokumx-new comandands-loader

Licenciado bajo: CC-BY-SA con atribución
No afiliado a dba.stackexchange
scroll top