EXCLUIR
- DELETE é um comando DML.
- A instrução DELETE é executada usando um bloqueio de linha, cada linha na tabela é bloqueada para exclusão.
- Podemos especificar filtros na cláusula where
- Ele exclui dados especificados se houver condição.
- Excluir ativa um gatilho porque a operação é registrada individualmente.
- Mais lento que truncar porque mantém os logs.
- É possível reverter.
TRUNCAR
- TRUNCATE é um comando DDL.
- TRUNCATE TABLE sempre bloqueia a tabela e a página, mas não cada linha.
- Não é possível usar a condição Where.
- Remove todos os dados.
- TRUNCATE TABLE não pode ativar um gatilho porque a operação não registra exclusões de linhas individuais.
- Mais rápido em termos de desempenho, porque não mantém nenhum registro.
- A reversão não é possível.