設計上、Core Data は SQLite データベースにVACUUM SQL コマンドを発行しません。詳しくはこちらをご覧ください。SQLite db に大きなバイナリ ファイル (サイズが 2 ~ 10 MB) を格納し、後で削除する Core Data アプリケーションを作成しています。これにより、時間の経過とともに断片化が発生し、SQLite データベースが必要以上に大きくなります。たとえば、実行するクリーンアップ操作中に定期的に VACUUM コマンドを発行したいと考えています。
- Core Data の SQLite ストアに VACUUM コマンドをプログラム的に発行するにはどうすればよいですか?
- Core Data を介してこれを行うことは可能ですか、それとも SQLite db をマウントし、それに直接接続して VACUUM SQL を実行する必要がありますか?