Existen dos métodos de SQL a las tablas de bases de datos vacías. Una de ellas es la función de "Borrar" y el otro es " TRUNCATE . " Tanto preservar la integridad de la mesa se vacía , pero cada uno es diferente en los mecanismos utilizados para eliminar los registros , en particular con respecto a los modos de operación , recuperación de datos , velocidad y el uso de recursos . La función " BORRAR" se clasifica en función del lenguaje de manipulación de datos ( DML) , mientras que " TRUNCATE " pertenece a la familia de las funciones que tienen que ver con el lenguaje de definición de datos (DDL ) . Modos de funcionamiento
La operación " TRUNCATE " es un enfoque de todo o nada , que cancela la asignación de espacio en disco reservado para los datos de la tabla . La operación también elimina los punteros a los índices. Data sigue existiendo en la mesa hasta que se sobrescribe con los nuevos datos. Por el contrario , la operación "BORRAR " elimina un registro a la vez, el registro de los datos de cada registro de un registro de transacciones antes de su eliminación . La operación "BORRAR " requiere que la transacción se ha comprometido , mientras que un " TRUNCATE " se compromete implícitamente la transacción. Un aviso de " BORRAR" también permite al usuario eliminar condicionalmente registros que cumplan una serie de criterios .
Data Recovery
operación " TRUNCATE " elimina los datos de un tabla sin guardar ninguna información rollback . Una vez ejecutado el comando , la recuperación no es posible si el espacio previamente asignado a los datos han sido sobrescritos con nuevos datos. Por el contrario , la reversión a un estado anterior en una operación de "BORRAR" puede ocurrir debido a que cada registro está comprometida con el espacio de tablas rollback antes de su eliminación . Los datos que faltan se pueden recuperar de los registros de reversión , siempre que la registra todavía existen.
Velocidad y el uso de recursos
La operación " TRUNCATE " es una operación de eliminación de alta velocidad que requiere pocos recursos de bases de datos debido al modo en que se realiza la nada de todo o eliminar funciones . operaciones de " Delete" en grandes volúmenes de datos , por otra parte, puede tomar un tiempo considerable debido a la cuestión del registro de una fila a la vez en el espacio de tablas de reversión. Como resultado , el tamaño físico de las tablas involucradas podría dispararse antes de la eliminación de los registros de reducir la tabla de nuevo a un tamaño aceptable .
Excepciones relativas a restricciones referenciales
" , " las operaciones de truncado sólo puede ocurrir si todas las restricciones de claves foráneas se retiran o desactivan antes de su ejecución . La misma regla se aplica a "BORRAR " operaciones . Esto se debe a la regla impuesta a las bases de datos para definir las relaciones claves primarias y externas y que especifica que "no clave externa se cuelgan . " Por lo tanto , las operaciones de "eliminar" " TRUNCATE " y se producirá un error si hay una clave principal /restricción de clave externa en su lugar.