Diferencia entre eliminar y truncar

Eliminar vs Truncar

Ambos comandos SQL (lenguaje de consulta de estructura), Eliminar y Truncar se utilizan para eliminar 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 Where' se usa para especificar las filas que se deben eliminar, y si la cláusula Where no se usa con la declaración Delete, elimina todos los datos de 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 se eliminan los datos según sea necesario.

Eliminar declaración

La declaración de eliminación permite al usuario eliminar datos de una tabla existente en una base de datos en función de una condición específica, y la 'cláusula Where' se utiliza para determinar esta condición. El comando de eliminación se conoce como una ejecución registrada, porque solo elimina una fila a la vez y mantiene una entrada para cada eliminación de fila en el registro de transacciones. Por lo tanto, esto hace que la operación sea más lenta. Eliminar es una instrucción DML, por lo que no se confirma automáticamente al ejecutar el comando. Por lo tanto, la operación de eliminación puede revertirse para acceder a los datos nuevamente, si es necesario. Después de la ejecución del comando Eliminar, debe confirmarse o revertirse para guardar los cambios de forma permanente. La declaración de eliminación no elimina la estructura de la tabla de la base de datos. Además, no desasigna el espacio de memoria utilizado por la tabla.

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

BORRAR DE

o

BORRAR DE DONDE

Declaración truncada

La instrucción Truncate elimina todos los datos de una tabla existente en una base de datos, pero conserva la misma estructura de tabla, también las restricciones de integridad, los privilegios de acceso y las relaciones con otras tablas. Por lo tanto, no es necesario volver a definir la tabla, y la estructura de tabla anterior se puede usar, si el usuario desea volver a utilizar la tabla nuevamente. Truncate elimina los datos completos al desasignar las páginas de datos utilizadas para mantener los datos, y solo se mantienen estas desasignaciones de páginas en el registro de transacciones. Por lo tanto, el comando truncar utiliza solo menos recursos del sistema y de registro de 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 revertir los datos de ninguna manera. Libera el espacio de memoria utilizado por la tabla después de la ejecución. Pero la sentencia Truncate no se puede aplicar en las tablas a las que hacen referencia restricciones de clave externa.

A continuación se muestra la sintaxis común para la instrucción Truncate.

TABLA DE TRUNCATOS

¿Cuál es la diferencia entre Eliminar y Truncar??

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 Eliminar se puede usar para eliminar filas específicas solo en una tabla usando una condición relevante, o para eliminar todas las filas sin ninguna condición, mientras que el comando Truncar se puede usar solo para eliminar datos completos en la tabla.

3. Eliminar es un comando DML y puede revertir la operación si es necesario, pero Truncar es un comando DDL, por lo que es una declaración de confirmación automática y no se puede revertir de ninguna manera. Por eso es importante usar este comando con cuidado en la gestión de bases de datos.

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

5. Además, Eliminar no desasigna el espacio utilizado por la tabla, mientras que Truncar libera el espacio utilizado después de la ejecución, por lo que Eliminar no es eficaz en el caso de eliminar todos los datos de una tabla de base de datos.

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

7. Finalmente, ambos comandos tienen ventajas y también desventajas al aplicarlos en los Sistemas de administración de bases de datos y el usuario debe estar consciente de usar estos comandos de manera adecuada para lograr buenos resultados..