Diferença entre delete e truncate
27/10/2016
0
Qual a diferença que existe entre os comandos delete e truncate no sql?
Os dois apagam os dados da tabela. E se tiver diferença, em quais casos se deve usar um ou outro.
Larissa Aguiar
Post mais votado
27/10/2016
O TRUNCATE é um comando DDL (Data Definition Language) e zera a indexação da tabela. Acredito que deve ser mais rápido que o DELETE também
O DELETE é um comando DML (Data Manipulation Language) e não zera a indexação da tabela. Como citado, pode usar a cláusula WHERE, que restringirá o comando ao que estiver na condição.
Espero ter ajudado!
Diego Silva
Mais Posts
27/10/2016
Fabiano Carvalho
Delete limpa registros e gera log e pode usar where.
28/10/2016
Larissa Aguiar
01/10/2019
Rafael Costa
Já o DELETE é para você trabalhar mais precisamente numa tabela. Designando condições específicas para o que você quer deletar numa tabela.
Acho que é assim que você deve encarar esses comandos.
05/02/2024
Talilo Araujo
O TRUNCATE é um comando DDL (Data Definition Language) e zera a indexação da tabela. Acredito que deve ser mais rápido que o DELETE também
O DELETE é um comando DML (Data Manipulation Language) e não zera a indexação da tabela. Como citado, pode usar a cláusula WHERE, que restringirá o comando ao que estiver na condição.
Espero ter ajudado!
Obrigado ajudou muito!!
05/02/2024
Arthur Heinrich
O delete atua de forma lógica, no conteúdo da tabela. Ele não modifica a estrutura física, que inclui o espaço alocado para a tabela e índices, com exceção de alguns bancos que tentar reorganizar a tabela, sempre que blocos ficam subutilizados.
Já o truncate faz com que a alocação de espaço seja liberada, tornando a tabela pequena e os índices organizados. Na prática, é como se fizéssemos um drop table seguido de create, novamente, mas sem perder os índices, permissões ou invalidar objetos que fazem referência à tabela.
Clique aqui para fazer login e interagir na Comunidade :)