Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Central de ajuda/
GaussDB(DWS)/
Perguntas frequentes/
Uso do banco de dados/
Como excluir dados da tabela de forma eficiente?
Atualizado em 2024-05-09 GMT+08:00
Como excluir dados da tabela de forma eficiente?
Sim. TRUNCATE é mais eficiente que DELETE para excluir dados em massa.
Para obter detalhes, consulte TRUNCATE.
Função
TRUNCATE remove rapidamente todas as linhas de uma tabela de banco de dados.
Tem o mesmo efeito que DELETE incondicional, mas TRUNCATE é mais rápido, especialmente para tabelas grandes, porque não verifica tabelas.
Funções
- TRUNCATE TABLE funciona como uma instrução DELETE sem cláusula de WHERE, ou seja, esvaziando uma tabela.
- TRUNCATE TABLE usa menos recursos do sistema e do log de transações.
- DELETE exclui uma linha a cada vez e registra cada exclusão no log de transações.
- TRUNCATE TABLE exclui todas as linhas em uma tabela liberando a página de dados e registra apenas cada liberação da página de dados no log de transações.
- TRUNCATE, DELETE e DROP são diferentes em que:
- TRUNCATE TABLE exclui conteúdo, libera espaço, mas não exclui definições.
- DELETE TABLE exclui conteúdo, mas não exclui definições ou libera espaço.
- DROP TABLE exclui conteúdo e definições e libera espaço.
Exemplos
- Crie uma tabela.
1
CREATE TABLE tpcds.reason_t1 AS TABLE tpcds.reason;
Trunque a tabela.
1
TRUNCATE TABLE tpcds.reason_t1;
Exclua a tabela.
1
DROP TABLE tpcds.reason_t1;
- Crie uma tabela particionada.
1 2 3 4 5 6 7 8 9 10 11 12 13
CREATE TABLE tpcds.reason_p ( r_reason_sk integer, r_reason_id character(16), r_reason_desc character(100) )PARTITION BY RANGE (r_reason_sk) ( partition p_05_before values less than (05), partition p_15 values less than (15), partition p_25 values less than (25), partition p_35 values less than (35), partition p_45_after values less than (MAXVALUE) );
Insira dados.
1
INSERT INTO tpcds.reason_p SELECT * FROM tpcds.reason;
Trunque a partição p_05_before.
1
ALTER TABLE tpcds.reason_p TRUNCATE PARTITION p_05_before;
Trunque a partição p_15.
1
ALTER TABLE tpcds.reason_p TRUNCATE PARTITION for (13);
Trunque a tabela particionada.
1
TRUNCATE TABLE tpcds.reason_p;
Exclua a tabela.
1
DROP TABLE tpcds.reason_p;
Tópico principal: Uso do banco de dados
Feedback
Esta página foi útil?
Deixar um comentário
Obrigado por seus comentários. Estamos trabalhando para melhorar a documentação.
O sistema está ocupado. Tente novamente mais tarde.