[shorts] Saiba a diferença entre DELETE e TRUNCATE – Banco de Dados
23 de março de 2023
Banco de Dados, Sem categoria
Esses dias bateu a curiosidade de saber a diferença entre os comando SQL TRUCANTE
e DELETE
. Apesar de pequena a primeiro momento, encontrei e entendi a explicação para utilizar um ou outro dependendo da situação.
Borá lá ( ͡👁️ ͜ʖ ͡👁️)
Comparativo entre DELETE e TRUNCATE
Comparação | DELETE | TRUNCATE |
Tipo | DML (Data Manipulation Language) | DLL (Data Definition Language) |
WHERE | Pode ser utilizado a clausula WHERE para especificar as tuplas ( ou linhas, registros, ...) | Não tem a opção de usar a clausula WHERE e irá apagar todas as tuplas |
locks | Será dado lock para cada linha que for ser excluída (requer mais recursos) | Será dado lock somente na data page (requer menos recursos) |
Velocidade | É mais lenta devido fazer operações linha a linha e fazer muito uso de log | É mais rápido por registrar apenas o data page e fazer menos uso do log |
Reverter | É possível dar ROLLBACK e desfazer a operação de exclusão | Não é possível reverter a operação de exclusão |
Conclusão
A minha intenção foi mostrar o comparativo entre os comandos e dar uma maior compressão dos motivos de se utilizar um ou outro. Espero que eu tenha conseguido clarear essa diferença.