Diferencia entre eliminar y truncar

Diferencia entre eliminar y truncar

Eliminar vs truncado

Los comandos SQL (lenguaje de consulta de estructura), Delete y Truncate se utilizan para deshacerse de los datos almacenados en tablas en una base de datos. Eliminar es una declaración DML (lenguaje de manipulación de datos) y elimina algunas o todas las filas de una tabla. La 'cláusula donde' se usa para especificar las filas que deben eliminarse, y si la cláusula donde no se usa con la declaración Eliminar, elimina todos los datos en la tabla. Truncate es una declaración DDL (lenguaje de definición de datos) y elimina datos completos de la tabla. Ambos comandos no destruyen la estructura de la tabla y las referencias a la tabla, y solo los datos se eliminan según sea necesario.

Declaración de eliminación

Delete la instrucción permite al usuario eliminar los datos de una tabla existente en una base de datos basada en una condición especificada, y la 'cláusula donde' se utiliza para determinar esta condición. El comando Eliminar se denomina ejecución registrada, ya que elimina solo una fila a la vez y mantiene una entrada para cada eliminación de filas en el registro de transacciones. Entonces, esto hace que la operación sea más lenta. Eliminar es una declaración DML, por lo que no se compromete automáticamente al ejecutar el comando. Por lo tanto, la operación de eliminación se puede volver a recurrir a los datos nuevamente, si es necesario. Después de la ejecución del comando Eliminar, debe comprometerse o enrollarse para guardar los cambios de forma permanente. Eliminar la instrucción no elimina la estructura de la tabla de la tabla de la base de datos. Tampoco se trata del espacio de memoria utilizado por la tabla.

La sintaxis típica para el comando Eliminar se indica a continuación.

Eliminar de

o

Eliminar de donde

Declaración truncada

La declaración truncada elimina todos los datos de una tabla existente en una base de datos, pero preserva la misma estructura de la tabla, también las restricciones de integridad, los privilegios de acceso y las relaciones con otras tablas. Por lo tanto, no es necesario definir la tabla nuevamente, y la estructura de la tabla anterior se puede usar, si el usuario desea reutilizar nuevamente la tabla. Truncate elimina los datos completos mediante la distribución de las páginas de datos utilizadas para mantener los datos, y solo estas clasificaciones de página se mantienen en el registro de transacciones. Por lo tanto, el comando Truncate utiliza solo un menos recursos de registro de sistemas y transacciones para la operación, por lo que es más rápido que otros comandos relacionados. Truncate es un comando DDL, por lo que utiliza compromisos automáticos antes y después de la ejecución de la declaración. Por lo tanto, Truncate no puede volver a revertir los datos de ninguna manera. Libera el espacio de memoria utilizado por la tabla después de la ejecución. Pero la declaración truncada no se puede aplicar en las tablas a las que se hace referencia por restricciones de clave extranjera.

La siguiente es la sintaxis común para la declaración truncada.

Mesa truncada

¿Cuál es la diferencia entre Delete y Truncate??

1. Los comandos eliminar y truncar eliminan los datos de las tablas existentes en una base de datos sin dañar la estructura de la tabla u otras referencias a la tabla.

2. Sin embargo, el comando Delete se puede usar para eliminar filas específicas solo en una tabla utilizando una condición relevante, o para eliminar todas las filas sin ninguna condición, mientras que el comando truncado solo se puede usar para eliminar datos completos en la tabla.

3. Eliminar es un comando DML, y puede retroceder la operación si es necesario, pero Truncate es un comando DDL, por lo que es una declaración de confirmación automática y no se puede volver de ninguna manera de ninguna manera. Por lo tanto, es importante usar este comando cuidadosamente en la gestión de la base de datos.

4. La operación truncada consume menos recursos del sistema y recursos de registro de transacciones que la operación de eliminación, por lo tanto, Truncate se considera más rápido que eliminar.

5. Además, Delete no desinfla el espacio utilizado por la tabla, mientras que Truncate libera el espacio utilizado después de la ejecución, por lo que Delete no es eficiente en caso de eliminar los datos completos de una tabla de base de datos.

6. Sin embargo, Truncate no puede usarse cuando la tabla se hace referencia por una restricción de clave extranjera, y en ese caso, el comando Eliminar se puede usar en lugar de truncar.

7. Finalmente, ambos comandos tienen ventajas y también desventajas para aplicarlos en los sistemas de gestión de bases de datos y el usuario debe tener en cuenta el uso de estos comandos de manera adecuada para lograr buenos resultados.