sql >> Base de Datos >  >> RDS >> Mysql

Optimización del paquete SSIS para millones de filas con Ordenar por/ordenar en el comando SQL y Merge Join

Tengo dos recomendaciones:

Clasificación del lado del servidor

En OLE DB Source, cambie el modo de acceso a Comando SQL. Y use la cláusula ORDER BY:

Select * from table ORDER BY col1, col2

Después de eso, debe abrir el editor avanzado de fuente OLE DB (haga clic con el botón derecho en la fuente OLE DB, muestre el editor avanzado) vaya a la pestaña de columnas y cambie la salida IsSorted propiedad a True y establezca cambiar el SortKeyPosition para las columnas utilizadas en la cláusula ORDER BY.

Leer datos en fragmentos

No tengo un buen conocimiento de la sintaxis SQL de MariaDB, pero proporcionaré algunos ejemplos en SQLite y Oracle:

Actualización 1 - Problemas con el paquete

Hay algunos problemas en el paquete:

  • Estás leyendo y escribiendo desde la misma mesa
  • Está realizando Actualizar y eliminar tablas en una gran cantidad de datos
  • Estás usando Fusionar Unión

Algunas recomendaciones:

  • Intente usar una tabla provisional en lugar de leer y escribir desde la misma tabla, ya que está leyendo, escribiendo, eliminando y actualizando desde la misma tabla de destino.
  • Usar particiones en la tabla de destino que permite eliminar y actualizar registros de una partición específica en lugar de toda la tabla