Iago Frota

Desenvolvedor Web

Freelancer

QA

Sunset Lover

Iago Frota

Desenvolvedor Web

Freelancer

QA

Sunset Lover

Postagens

[shorts] Saiba a diferença entre DELETE e TRUNCATE – Banco de Dados

23 de março de 2023 Banco de Dados, Sem categoria
[shorts] Saiba a diferença entre DELETE e TRUNCATE – Banco de Dados

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çãoDELETETRUNCATE
TipoDML (Data Manipulation Language)DLL (Data Definition Language)
WHEREPode 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
locksSerá 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ãoNão é possível reverter a operação de exclusão
Comparativo entre DELETE e TRUNCATE

TRUNCATE é mais eficiente e performático para excluir tuplas sem especificar um filtro (cláusula WHERE)
DELETE é mais lento, porém consigo dar ROLLBACK e reverter a operação

TRUNCATE vs delete

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.

Taggs:
Write a comment

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.