サムネイル画像の管理方法

twitterじゃ毎日発言してるのに、ブログは更新しないというありがちな展開。
きっと mixi に慣れすぎているせいだろうなぁ。
あっちは1週間に3、4回は更新しています。
エイチムの現況を知りたい人は mixi僕と握手!


プログラムを作る能力を持っていて一番威力を発揮するのが、自分用ツールを作るときです。
俺も例に漏れず Pixiv 用のほにゃららツールを作って自分で使ってますが、そこで問題になったのがサムネイルの管理
現状では、起動するたびにリストに登録された画像パスからサムネイルを生成しているため、600枚とか登録されてると
起動に5分くらい掛かるというクソっぷり。自分用ツールなのでいいですが…
このサムネイル画像をあらかじめ作成してどこかに保存しておき、サムネイル作成の時間を減らすことが出来れば
起動は相当に早くなります。
Pixiv の画像にはタグとかコメントとか色々付加情報がついているので、それらもまとめてデータベースで管理できれば
一番です。
サムネイル画像も画像パスをデータベースに入れておいて起動時に読み込めばいいのですが、数千のファイルを
起動時に読み込むのはHDD的に負担が大きすぎます。データベースに画像ごといれちゃえば楽です。
そんなわけでSQLiteで画像も同時に扱えないかと思案中。
ぐぐってみると同じことを考えてる人はいっぱいいますが、多くは「画像パスを保存しておいて読み込んだほうがいい」という答え。
主な要因は「データベースファイルの肥大」です。
じゃあサムネイル画像(JPEG MAX 130x130)なら1枚5KBあるかないかくらいなのでいいのでは…?
それなら1000枚登録されててもたかだか 5MB。
うん、これしかない。BLOB 型使えばなんとかなるはず
ということで作成開始。自分用なので公開しませんがあしからず。。