sql >> Base de Datos >  >> RDS >> Oracle

¿Diferencia entre TRUNCATE y DELETE?

ELIMINAR

  1. DELETE es un comando DML.
  2. La declaración DELETE se ejecuta mediante un bloqueo de fila, cada fila de la tabla está bloqueada para su eliminación.
  3. Podemos especificar filtros en la cláusula where
  4. Elimina los datos especificados si existe la condición.
  5. Eliminar activa un disparador porque la operación se registra individualmente.
  6. Más lento que truncar porque mantiene registros.
  7. La reversión es posible.

TRUNCADO

  1. TRUNCATE es un comando DDL.
  2. TRUNCATE TABLE siempre bloquea la tabla y la página, pero no cada fila.
  3. No se puede usar la condición Where.
  4. Elimina todos los datos.
  5. TRUNCATE TABLE no puede activar un activador porque la operación no registra eliminaciones de filas individuales.
  6. Más rápido en cuanto a rendimiento, porque no guarda ningún registro.
  7. No es posible revertir.