Latest web development tutorials

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; "