Latest web development tutorials

SQLite Vacuum

comando VACUUM, copiando o conteúdo do banco de dados primário para um arquivo de banco de dados temporário, e depois esvaziar o banco de dados principal, e recarregar o original da cópia do arquivo de banco de dados. Isso elimina páginas livres, os dados na tabela são dispostas em uma fileira, e os outros vão limpar a estrutura do arquivo de banco de dados.

Se a tabela não é explícita chave de inteiro primário (INTEGER PRIMARY KEY), comando de vácuo pode alterar as entradas no ID linha da tabela (ROWID). comando de vácuo é aplicável somente ao banco de dados primário, arquivo de banco de dados adicional não é possível usar o comando VACUUM.

Se houver uma transação ativa, o comando VACUUM falhará. comando de vácuo é nada para um banco de dados de memória. Desde comando VACUUM para recriar os arquivos de banco de dados a partir do zero, de modo a vácuo também pode ser usado para modificar uma série de parâmetros de configuração de banco de dados específico.

manual de vácuo

Aqui está a sintaxe para o prompt de comando comandos VACUUM emitido todo o banco de dados:

$ Sqlite3 database_name "vácuo;"

Você também pode executar SQLite linha de vácuo, como se segue:

sqlite> vácuo;

Você também pode executar VACUUM em uma tabela específica, como segue:

sqlite> table_name vácuo;

Auto VACCUM (Auto-vácuo)

SQLite de Auto-de vácuo e não é o mesmo, é apenas uma página livre para o fim do banco de dados, reduzindo assim o tamanho do banco de dados. Ao fazer isso, ele pode significativamente a fragmentação do banco de dados, que é o anti-VÁCUO fragmentado. Auto-VÁCUO isso só vai tornar o banco de dados menor.

No prompt de SQLite, você pode usar o seguinte compilar e executar, ativar / desativar o SQLite Auto-Vácuo:

sqlite> PRAGMA auto_vacuum = NONE; - 0 significa desativar o vácuo auto
sqlite> PRAGMA auto_vacuum = INCREMENTAL; - 1 significa permitir vácuo incrementais
2 significa permitir vácuo plena auto -; sqlite> PRAGMA auto_vacuum = FULL

Você pode executar o seguinte comando de um prompt de comando para verificar as configurações de auto-vácuo:

$ Sqlite3 database_name "PRAGMA auto_vacuum;"