Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Diferença entre TRUNCATE e DELETE?


EXCLUIR
  1. DELETE é um comando DML.
  2. A instrução DELETE é executada usando um bloqueio de linha, cada linha na tabela é bloqueada para exclusão.
  3. Podemos especificar filtros na cláusula where
  4. Ele exclui dados especificados se houver condição.
  5. Excluir ativa um gatilho porque a operação é registrada individualmente.
  6. Mais lento que truncar porque mantém os logs.
  7. É possível reverter.

TRUNCAR
  1. TRUNCATE é um comando DDL.
  2. TRUNCATE TABLE sempre bloqueia a tabela e a página, mas não cada linha.
  3. Não é possível usar a condição Where.
  4. Remove todos os dados.
  5. TRUNCATE TABLE não pode ativar um gatilho porque a operação não registra exclusões de linhas individuais.
  6. Mais rápido em termos de desempenho, porque não mantém nenhum registro.
  7. A reversão não é possível.