2010-09-01 18 views
9

Tengo una tabla que tiene algo así como medio millón de filas y me gustaría eliminar todas las filas.Cómo eliminar de manera eficiente todas las filas de una tabla en DB2

Si hago simple delete from tbl, el registro de transacciones se llena. No me importan las transacciones en este caso, no quiero volver atrás en ningún caso. Podría eliminar filas en muchas transacciones, pero ¿hay alguna forma mejor de hacerlo?

¿Cómo eliminar eficientemente todas las filas de una tabla en DB2? ¿Puedo desactivar las transacciones para este comando de alguna manera o hay comandos especiales para hacer esto (como truncate en MySQL)?

Después de eliminar las filas, volveré a llenar la base de datos con una cantidad similar de datos nuevos.

Respuesta

14

Parece que siguiendo el comando works en las versiones más nuevas de DB2.

TRUNCATE TABLE someschema.sometable IMMEDIATE 
7

Para truncar una tabla en DB2, sólo tiene que escribir:

alter table schema.table_name activate not logged initially with empty table 

Por lo que he podido leer, se eliminará el contenido de la tabla sin hacer ningún tipo de registro que irá mucho más fácil en lo de su servidor/O.

+1

Esto puede no funcionar en el entorno replicar/hadr debido a la falta de registro. –

+1

Esta es una respuesta muy útil para aquellos que necesitan borrar una tabla en versiones de DB2 que no tienen una sentencia TRUNCATE TABLE. –

Cuestiones relacionadas