Diferença entre Excluir e Truncar

Excluir vs Truncar

Os comandos SQL (Structured Query Language), Delete e Truncate são usados ​​para se livrar dos dados armazenados nas tabelas em um banco de dados. Excluir é uma instrução DML (Data Manipulation Language) e remove algumas ou todas as linhas de uma tabela. A 'Cláusula Where' é usada para especificar as linhas que precisam ser excluídas e, se a cláusula Where não for usada com a instrução Delete, ela removerá todos os dados da tabela. Truncar é uma instrução DDL (Data Definition Language) e remove dados inteiros da tabela. Esses dois comandos não destroem a estrutura da tabela e as referências à tabela e apenas os dados são removidos conforme necessário.

Excluir instrução

A instrução Delete permite ao usuário remover dados de uma tabela existente em um banco de dados com base em uma condição especificada, e a 'cláusula Where' é usada para determinar essa condição. O comando Delete é referido como uma execução registrada, porque exclui apenas uma linha de cada vez e mantém uma entrada para cada exclusão de linha no log de transações. Portanto, isso torna a operação mais lenta. Excluir é uma instrução DML e, portanto, não é confirmada automaticamente durante a execução do comando. Portanto, a operação Excluir pode ser revertida para acessar os dados novamente, se necessário. Após a execução do comando Excluir, ele deve ser confirmado ou revertido para salvar as alterações permanentemente. A instrução Delete não remove a estrutura da tabela do banco de dados. Também não desaloca o espaço de memória usado pela tabela.

A sintaxe típica do comando Excluir é declarada abaixo.

EXCLUIR DE

ou

EXCLUIR DE ONDE

Declaração Truncada

A instrução truncada remove todos os dados de uma tabela existente em um banco de dados, mas preserva a mesma estrutura de tabela, também as restrições de integridade, privilégios de acesso e os relacionamentos com outras tabelas. Portanto, não é necessário definir a tabela novamente e a estrutura antiga da tabela pode ser usada se o usuário desejar reutilizar a tabela novamente. Truncar remove dados inteiros desalocando as páginas de dados usadas para manter os dados, e somente essas desalocações de páginas são mantidas no log de transações. Portanto, o comando truncar utiliza apenas menos recursos do sistema e do log de transações para operação, portanto, é mais rápido que outros comandos relacionados. Truncar é um comando DDL, portanto, ele usa confirmações automáticas antes e após a execução da instrução. Portanto, o truncado não pode reverter os dados novamente de forma alguma. Ele libera espaço de memória usado pela tabela após a execução. Mas a instrução Truncate não pode ser aplicada nas tabelas referenciadas por restrições de chave estrangeira.

A seguir está a sintaxe comum da instrução Truncate.

TABELA TRUNCATE

Qual é a diferença entre Excluir e Truncar?

1. Os comandos Excluir e Truncar removem dados de tabelas existentes em um banco de dados sem prejudicar a estrutura da tabela ou outras referências à tabela.

2. No entanto, o comando Excluir pode ser usado para excluir linhas específicas apenas em uma tabela usando uma condição relevante ou para excluir todas as linhas sem nenhuma condição, enquanto o comando Truncar pode ser usado apenas para excluir dados inteiros na tabela.

3. Excluir é um comando DML e pode reverter a operação, se necessário, mas Truncar é um comando DDL, portanto, é uma declaração de confirmação automática e não pode ser revertida de forma alguma. Portanto, é importante usar esse comando com cuidado no gerenciamento de banco de dados.

4. A operação Truncar consome menos recursos do sistema e recursos de log de transações que a operação Excluir, portanto, Truncar é considerado mais rápido que Excluir.

5. Além disso, o Delete não desaloca o espaço usado pela tabela, enquanto o Truncate libera o espaço usado após a execução, portanto, o Delete não é eficiente no caso de excluir todos os dados de uma tabela do banco de dados.

6. No entanto, Truncar não pode ser usado quando a tabela é referenciada por uma restrição de chave estrangeira e, nesse caso, o comando Excluir pode ser usado em vez de Truncar.

7. Finalmente, esses dois comandos têm vantagens e também desvantagens em aplicá-los nos sistemas de gerenciamento de banco de dados e o usuário deve estar ciente de usar esses comandos adequadamente para obter bons resultados.