![見出し画像](https://assets.st-note.com/production/uploads/images/139694102/rectangle_large_type_2_b51d61449c8f11e3a7f3d5187bb21d49.png?width=1200)
Photo by
fs_gakko
SQLiteで作成したデータベース容量が小さくならない!
githubにあげるとき、エラー対応で苦戦したのでメモしておきます。
忙しい人向け
データベースファイルに接続して「vacuum」コマンドを実行して!
構築環境
OS:Mac
言語:Python
DB:Sqlite3 ← 今回の問題児
現象
![](https://assets.st-note.com/img/1714969327237-7rNwpSZQcq.png?width=1200)
Gitに上げる時は100MBですよ!と警告されてしまいました。
へーー知らなかった。と思いデータベースの中身を見直してたんですが、そもそもそんなにレコード作成していないつもりだったんです。
確認
まず、対象ファイルのデータ量を確認したところ、確かに100MB超えていましたので、素直にレコードを半分にしてみました。
![](https://assets.st-note.com/img/1714969521110-TWEO5uV0XG.png?width=1200)
。。。。
でもまったく容量が減らないんです。。。
原因
sqliteで作成したデータベースファイルはレコードを削除しても、一度レコードを作成していたら、空きレコードとして容量を確保してしまうそうです。
実は、少し前に大量のテストデータを作成していました。
※テストデータが多すぎてアプリが動かなくて消してました。。。
対応
vacuumコマンド
日本語にすると「真空」なるコマンドを実行することで空白領域を削除できます。
> sqlite3 aaaa.db
> vacuum;
> .exit
以上になります!
この記事が気に入ったらサポートをしてみませんか?