1. ホーム
  2. sqlite

[解決済み] DELETE FROM tableの後にsqliteのファイルサイズを変更する。

2023-06-17 20:05:58

質問

sqlite3ファイルを使用しています。

まず、比較的大きなデータベースを入力し、ファイルサイズは約100MBでした。

次に

$db->exec("DELETE FROM table");

と入力し、そのデータベースのほんの一部を入力しました。しかし、ファイルサイズは100mbのままでした。

SQLiteのファイルサイズを変更するにはどうしたらよいでしょうか。

どのように解決するのですか?

探しているコマンドは 真空 . また プラグマ で自動バキューム機能をオンにすることもできます。

ドキュメントから。

オブジェクト(テーブル、インデックス、トリガ、ビュー)がデータベースから削除されたとき。 またはビュー)がデータベースから削除されると を削除すると、空のスペースが残ります。この この空いたスペースは、次に新しい情報が追加されたときに再利用されます。 新しい情報が追加されたときに再利用されます。 データベースに追加されます。しかし、その間に データベースファイルは必要以上に大きくなる可能性があります。 大きくなる可能性があります。また、頻繁に 挿入、更新、削除が頻繁に行われると データベース内の情報が データベース内の情報が断片化されることがあります。 データベースファイル全体が 断片化する可能性があります。

VACUUM コマンドは、メイン データベースの内容を一時的なデータベース ファイルにコピーし 一時的なデータベース ファイルにコピーし、元のデータベース ファイルを再ロードすることで コピーから元のデータベースファイルを コピーから元のデータベースファイルを再読み込みします。これにより、空きページが解消されます。 テーブルのデータが連続するように整列されます。 を整列させ、データベースファイル構造をクリーンアップします。 ファイル構造をきれいにします。