SQLiteの真空
一時データベースファイルへのプライマリ・データベースの内容をコピーしてから、プライマリ・データベースを空にし、データベースファイルのコピーからオリジナルをリロードすることにより、VACUUMコマンド。 これは、表のデータは、行に配置されている空きページがなくなり、他のデータベース・ファイル構造をクリーンアップします。
テーブルは、明示的な整数主キー(INTEGER PRIMARY KEY)でない場合、VACUUMコマンドは、表の行ID(ROWID)のエントリを変更することがあります。 VACUUMコマンドは、プライマリ・データベースにのみ適用され、追加のデータベース・ファイルには、VACUUMコマンドを使用することはできません。
アクティブなトランザクションがある場合は、VACUUMコマンドは失敗します。 VACUUMコマンドは、メモリデータベースの何物でもありません。 VACUUMは、データベース固有の設定パラメータの数を変更するために使用することができるように、VACUUMコマンドので、最初からデータベースファイルを再作成します。
マニュアルVACUUM
ここで発行されたVACUUMは、データベース全体をコマンドコマンドプロンプトの構文は次のとおりです。
$ sqlite3のデータベース名「VACUUM; "
また、次のようにSQLiteのプロンプトVACUUMを実行することができます。
sqliteの> VACUUM。
また、次のように特定のテーブルの上にVACUUMを実行することができます。
sqliteの> VACUUM table_nameの。
自動真空(自動VACUUM)
SQLiteのの自動VACUUMとVACUUMは、それによって、データベースのサイズを縮小、データベースの最後にだけ空きページですが、同じではありません。 そうすることによって、それが有意な抗真空が断片化されたデータベースを、断片化することができます。 自動VACUUMは、これだけのデータベースが小さくなります。
プロンプトSQLiteのでは、あなたはSQLiteの自動VACUUMを無効/コンパイルして実行、有効にするには、次を使用することができます。
sqliteの>プラグマauto_vacuum = NONE; - 0手段が自動真空を無効にします sqliteの>プラグマauto_vacuum = INCREMENTAL; - 1の手段は、増分真空を有効にします 2の手段は、フルオートバキュームを有効にする - ; sqliteの>プラグマauto_vacuum = FULL
あなたは、自動真空の設定を確認するには、コマンドプロンプトから次のコマンドを実行することができます。
$ sqlite3のデータベース名「プラグマauto_vacuum; "