«前の日記(2013-06-06 Thursday) 最新 次の日記(2013-06-12 Wednesday)» 編集

libAlexandrina.so.tDiary


2013-06-07 Friday

gwibber.sqliteをダイエット

Ubuntuの自動バックアップを便利に使っているのだが妙に遅いファイルがあったので調べてみたら、このファイルが4Gもあった!

twitterクライアントなので発言のキャッシュだろう。テラクラスのHDDではなく、256G程度のSSDを使っている私にとってこれはデカイ。縮めよう。

7日前のunix timeを得る

テーブル定義をみたらunix timeがいるようなので、7日前のunix timeを得る。シェルではこんなんで得られる。

$ date +%s -d '7 days ago'
1369913166

SQLiteでdeleteクエリ

vacuum;がミソ。実行しないと論理削除的なことになり、ファイルサイズが縮まらない。

$ sqlite3 ~/.config/gwibber.sqlite
sqlite> delete from messages where time<1369913166;
sqlite> vacuum;

結果

3,950MB→112MB になりました。1 month ago だと400Mぐらいになったのでまぁこんなもんかな?でもたった1weekのtweetログで112Mもいっちゃうのか。バカにならんな。jenkinsで定期的に実行してやろうかなーと考えたが、自分のディレクトリの下ってのが難易度高いね。まぁ+rwあげればできるだろうが。イマイチだ。結局crontabなのかのう。

Tags: SQLite Ubuntu