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