es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

SSIS – Retraso en la carga de datos desde la base de datos de Oracle a la base de datos de SQL Server.

Tenemos un paquete SSIS que carga datos de una tabla de Oracle en una tabla de SQL Server. Los datos son muy extensos, por lo que cada vez que se ejecuta el trabajo, tarda mucho tiempo en insertar los registros. A continuación se presentan los escenarios para nuestro requisito:

No hay una columna de última modificación en la tabla de origen, por lo que no podemos encontrar qué registro se actualizó y cuál se insertó recientemente. Por lo tanto, estamos truncando la tabla de destino cada vez y cargando todos los datos de la tabla de origen cada vez.

Hemos intentado la transformación de búsqueda pero sin suerte.

Entonces, ¿alguien puede ayudarme por favor con una mejor solución para crear un paquete correcto cargando los datos en menos tiempo?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Solución para mejorar la carga de datos desde Oracle DB a SQL Server utilizando un paquete SSIS

    Como se mencionó, el paquete SSIS está tardando mucho en insertar registros desde la tabla de origen a la tabla de destino. Esto se debe a la falta de una columna de última modificación en la tabla de origen, por lo que no podemos determinar los registros actualizados y recién insertados.

    Una forma de mejorar el rendimiento del paquete SSIS es seguir estos pasos:

    1. Crear una tabla de almacenamiento en SQL Server para cargar todos los datos de la tabla de Oracle DB.
    2. Utilizar la transformación de búsqueda en SSIS para comparar los datos de la tabla de almacenamiento con los datos de la tabla de destino basados en una columna clave única. Esto ayudará a identificar los registros actualizados y recién insertados.

    3. Utilizar la transformación de división condicional para separar los registros actualizados y recién insertados.

    4. Utilizar la transformación de fusión para combinar los registros actualizados y recién insertados con los datos existentes en la tabla de destino.

    Con este enfoque, no necesitamos truncar la tabla de destino cada vez y solo podemos insertar los registros actualizados y recién insertados. Esto reducirá significativamente el tiempo necesario para cargar los datos desde la tabla de Oracle DB a la tabla de SQL Server utilizando el paquete SSIS.

    Además, podemos considerar particionar la tabla de destino según la fecha o cualquier otra columna apropiada para mejorar el rendimiento y simplificar el mantenimiento de la tabla.

    En general, esta solución proporcionará un enfoque mejor para crear un paquete SSIS correcto para cargar datos en menos tiempo.

Comments are closed.