English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
O comando LIMPEZA copia o conteúdo do banco de dados principal para um arquivo de banco de dados temporário, esvazia o banco de dados principal e recarrega o arquivo do banco de dados original a partir do backup. Isso remove as páginas vazias, organiza os dados da tabela em sequência contínua e também limpa a estrutura do arquivo do banco de dados.
Se a tabela não tiver uma chave primária explícita de tipo inteiro (INTEGER PRIMARY KEY), o comando LIMPEZA pode alterar o ID da linha (ROWID) das entradas da tabela. O comando LIMPEZA é aplicável apenas ao banco de dados principal, é impossível usar o comando LIMPEZA em arquivos de banco de dados adicionais.
Se houver uma transação ativa, o comando LIMPEZA falhará. O comando LIMPEZA é qualquer operação em um banco de dados em memória. Como o comando LIMPEZA recria o arquivo do banco de dados do zero, ele também pode ser usado para modificar muitos parâmetros específicos do banco de dados.
A seguinte é uma sintaxe simples para emitir o comando LIMPEZA para todo o banco de dados a partir da linha de comando-
$sqlite3 nome_do_banco_de_dados "LIMPEZA;"
Você pode executar a LIMPEZA no prompt do SQLite, conforme mostrado a seguir-
sqlite> LIMPEZA;
Você também pode executar a LIMPEZA em uma tabela específica, conforme mostrado a seguir-
sqlite> LIMPEZA nome_da_tabela;
limpeza automática do SQLite-A LIMPEZA é bastante diferente da LIMPEZA, pois apenas move as páginas vazias para o final do banco de dados,减小 o tamanho do banco de dados. Ao fazer isso, ela pode fragmentar significativamente o banco de dados, enquanto a LIMPEZA é defragmentação. Portanto, Auto-A LIMPEZA apenas tornará o banco de dados menor.
No prompt do SQLite, você pode ativar através da compilação e execução das seguintes instruções/Desativar a limpeza automática do SQLite-LIMPEZA:
sqlite> PRAGMA limpeza_automática = NENHUM; -- 0 significa desativar a limpeza automática de vácuo sqlite> PRAGMA auto_vacuum = FULL; -- 1 significa ativar vacuum completo automático sqlite> PRAGMA auto_vacuum = INCREMENTAL; -- 2 significa ativar vacuum incremental
Você pode executar os seguintes comandos no prompt de comando para verificar as configurações de Vacuum-
$sqlite3 nome_do_banco_de_dados "PRAGMA auto_vacuum;"