2010-12-14 8 views

答えて

4

データベースからテーブルを削除しても、Sqliteのサイズは小さくなりません。そのサイズはまだ達成されている最大サイズと同じままです。

+0

これはなぜこのように設計されていますか? – lex

+1

パフォーマンス上の理由から。切り詰められたファイルは、一部のファイルシステムでは高価な処理になることがあります。本当にデータベースファイルを圧縮する場合は、vacuumコマンドを使用できます。 – hmuelner

3

shrunkである必要があるためです。

SQLiteは 「auto_vacuum = FULL」モードでは、データの大 量が データベースファイルから削除されたとき、それは空の スペース、または「自由」のデータベース・ページを残すで実行されていない限り。この は、データベースファイルが厳密に必要以上に大きい である可能性があることを意味します。 データベースを再構築するためのVACUUMの実行 は、この領域を再利用し、データベースファイルのサイズを小さくします( )。

関連する問題