martes, 23 de agosto de 2011

ORACLE:Drop , delete and truncate

Hola a todos, hoy les comparto algunos trucos aplicables para Oracle que he aprendido.

Truncate o Delete

Cuando vas a borrar todos los registro de una tabla en la base de datos generalmente hacemos

delete from usuario;

Cuando hacemos un delete la base de datos borra uno a uno los registros de la tabla, los almacena por así decirlo en cache por si de pronto vamos a hacer rollback, esto ocupa mas tiempo y espacio en la db sin mencionar que la mantiene bloqueada durante el proceso.

El truco es utilizar truncate porque es mas rápido básicamente consiste en mover el índice del registro en el cual estaba el último registro de la bd al primer registro y no borramos uno a uno sino que como el registro queda en el inicio entonces es como si no hubiera nada.

Como utilizarlo?, es sencillo:

truncate usuario;


En conclusión , si estas seguro de que vas a borrar todos los datos y no te vas a arrepentir es mejor truncate.

Drop .. purge

Cuando borramos una tabla de la base de datos oracle, dependiendo de la forma en la que borremos la tabla va a ser eliminada completamente o solo aparentemente borrada, veamos el siguiente código


drop table usuario;


La tabla se borra pero realmente queda almacena como una papelera, la prueba esta en que el tamaño del tablespace no disminuye. La alternativa para que realmente quede eliminada la tabla y no nos ocupe espacio es agregar al final la palabra purge y quedaría así.


drop table usuario purge;


Este último truco me lo dio Diego M.


No hay comentarios: