Ahora vamos a hablar acerca de LOAD. LOAD, al igual que

Anuncio
Ahora vamos a hablar acerca de LOAD.
LOAD, al igual que IMPORT, se utiliza para cargar datos en una tabla;
sin embargo, es mucho más rápido.
Vamos comparar rápidamente como trabajan IMPORT y LOAD.
IMPORT, como se mencionó anteriormente, utiliza
SQL INSERT detrás de escenas,
por lo tanto, estas instrucciones son manejadas por el motor de DB2
Por ende se ejecutan los triggers, se comprueban las restricciones, etc
Una vez hecho esto, se insertan los datos en las páginas del disco.
LOAD, por otra parte, no pasa por el motor de DB2
directamente almacena los datos en las páginas de disco.
Esto es mucho más rápido, pero significa que los triggers
no son ejecutados, y las restricciones no se comprueban.
Por lo tanto puede haber problemas de integridad de los datos cargados.
Utilizar LOAD es ideal cuando ya sabes que los datos son
íntegros y no hay necesidad de comprobarlos en la base de datos, para ello.
También puedes ejecutar el comando SET INTEGRITY después de LOAD
para comprobar la integridad de los datos.
Así que vamos a ejecutar el siguiente comando LOAD y luego SET INTEGRITY
desde la ventana de mandatos de DB2. En otro video
aprenderás cómo ejecutar estos comandos utilizando IBM Data Studio.
En este ejemplo, Se carga desde el archivo employee.ixf
y se reemplazan los contenidos de la tabla employee_copy creada previamente.
Para ahorrar tiempo tengo un script llamado myload.txt
Echemos un vistazo a este archivo.
Como puedes ver, nos conectamos a la base de datos Sample2
y se ejecuta el comando LOAD desde employee.ixf
que es un archivo que habíamos creado antes en el ejemplo anterior
y vamos a ejecutar con: REPLACE INTO employee_copy,
tabla que se creó anteriormente también. Cerramos este archivo,
Y ahora ejecutamos: db2 -tvf y el nombre del archivo.
presionamos enter
Ahora, como podemos ver LOAD se ejecutó con éxito
leyó 10 filas, cargó 10 filas
y comprometió 10 filas.
Este es el mismo archivo que usamos antes, por lo que nuevamente nos
conectamos a la base de datos sample2
entonces puedes seleccionar de esta tabla.
Como puedes ver, tenemos el mismo resultado
Después que la operación de carga se realiza correctamente,
la tabla employee_copy queda marcada
con el estado SET INTEGRITY PENDING
Antes conocido como estado CHECK PENDING.
Esto significa que DB2 le sugiere
ejecutar el comando SET INTEGRITY
para comprobar la integridad de los datos.
Ya que sabemos que los datos son correctos,
ejecutamos el comando SET INTEGRITY
que se muestra en esta diapositiva.
ejecutamos 'SET INTEGRITY FOR employee_copy'
y utilizamos la cláusula 'ALL IMMEDIATE UNCHECKED' que
borra el estado de 'integridad pendiente'
sin realizar ningún proceso de chequeo de integridad.
Esto se debe a que ya se conoce que los datos son correctos.
Vamos a probar este comando SET INTEGRITY
y para ahorrar tiempo he copiado ese comando
y lo voy a pegar aquí.
'db2 SET INTEGRITY FOR employee_copy
ALL IMMEDIATE UNCHECKED'
Como puedes ver, el comando se completa satisfactoriamente.
Descargar