見出し画像

SQLiteで作成したデータベース容量が小さくならない!

githubにあげるとき、エラー対応で苦戦したのでメモしておきます。

忙しい人向け

データベースファイルに接続して「vacuum」コマンドを実行して!

構築環境

OS:Mac
言語:Python
DB:Sqlite3 ← 今回の問題児

現象

Gitに上げる時は100MBですよ!と警告されてしまいました。
へーー知らなかった。と思いデータベースの中身を見直してたんですが、そもそもそんなにレコード作成していないつもりだったんです。

確認

まず、対象ファイルのデータ量を確認したところ、確かに100MB超えていましたので、素直にレコードを半分にしてみました。

。。。。
でもまったく容量が減らないんです。。。

原因

sqliteで作成したデータベースファイルはレコードを削除しても、一度レコードを作成していたら、空きレコードとして容量を確保してしまうそうです。

実は、少し前に大量のテストデータを作成していました。
※テストデータが多すぎてアプリが動かなくて消してました。。。

対応

vacuumコマンド

日本語にすると「真空」なるコマンドを実行することで空白領域を削除できます。

> sqlite3 aaaa.db
> vacuum;
> .exit

以上になります!

この記事が気に入ったらサポートをしてみませんか?