Você precisa apagar rapidamente todos as linhas da tua tabela? Utilize o TRUNCATE!
Legal! Esse comando é estremamente útil, fácil e mágico! Simplesmente limpa tudo. Tabela zeradinha.
Você pode perguntar: “Qual a vantagem se existe o delete que apaga todas as linhas?”
Bom, vamos lá! O comando TRUNCATE é equivalente ao DELETE que deleta todas as linhas, mas existem algumas diferenças práticas em algumas circunstâncias.
Para uma tabela InnoDB antes da versão 5.0.3 do MySql, InnoDB processa TRUCATE TABLE deletando as linhas uma a uma. A partir do MySQL 5.0.3, a deleção linha por linha é usada somente se existe alguma FOREIGN KEY constraints que referencie a tabela. Se não
existir FOREIGN KEY constraints, InnoDB executa rápido o truncate porque realiza um drop na tabela original e cria uma tabela vazia com as mesmas definições. Isto é extremamente mais rápido do que deletar linha por linha. Show!
Para uma tabela InnoDB antes da versão 5.0.3 do MySql, InnoDB processa TRUCATE TABLE deletando as linhas uma a uma. A partir do MySQL 5.0.3, a deleção linha por linha é usada somente se existe alguma FOREIGN KEY constraints que referencie a tabela. Se não
existir FOREIGN KEY constraints, InnoDB executa rápido o truncate porque realiza um drop na tabela original e cria uma tabela vazia com as mesmas definições. Isto é extremamente mais rápido do que deletar linha por linha. Show!
Mas vc pode realizar uma segunda pergunta. “E o contador AUTO_INCREMENT?”
É resetado! Exatamente! Começa do zero! Claro, também a partir do MySql 5.0.3. Desta forma, sempre que você usar o TRUNCATE, independentemente se há restrição de chave estrangeira, o contador é resetado!
Vamos à um exemplo?
TRUNCATE nome_da_tabela
0 comentários :
Postar um comentário