なげやりろぐ

フテイキコウシン

 データベースの最適化?

Sleipnir Startのニュース機能で知ったんですが、SQLiteで構築されたDB(データベース)をreindexするとFirefoxの起動時間が改善されたというエントリーがありました。

firefox 3が遅くなった→ SQLite reindexで解決&高速化 - しおそると


そういえばSleipnirも本体はもとより公式のプラグインやThirdparty製のスクリプトにもSQLiteでDBを作成するものがいろいろあったなぁと。
もしかしてFx用の記事にあったのと同じことをSleipnirでもできるならば起動時間の改善につながるのかもしれないねとか思っていたら・・・やってくれましたもの、958さん♪

ぷにるの全DBをreindex&vacuumするuseraction gist: 109881 - GitHub


ご自分のページ(958Lab)ではまだ配布されていませんが、gistへコードをアップされていますのでダウンロードして展開するとユーザーアクションスクリプトとして利用できます。

実際に試して見たところ、心なしか起動が速くなったかもといった感じ。
と、いうのも試したのがWin 7 RCへ新規に構築したSleipnir環境ですのでDB自体があまり肥大化していなかったせいでしょう。
コレが過去の資産を受け継ぎつつバージョンアップしてきたVista上のSleipnir*1あたりだと劇的な改善が見込めるかもしれないです♪


ユーザーアクションスクリプトですのでSleipnirのプラグインであらかじめUserAction Extensionが導入済みであることが前提になりますけど、DB使うようなスクリプトとかをばりばり利用されている方ならすでに導入済みですよね。

展開して得られたSQLiteOptimize.jsをplugins=>scriptsフォルダへ突っ込んで本体を再起動するとSQLiteOptimizeというアクションが使えるようになりますのでサジタリウスで呼び出すなりジェスチャに登録するナリして実行してやるとステータスバーにDBの最適化が行われている様子がリポートされます。
この操作自体は頻繁に行う必要はないものなので、Sleipnirの起動動作が以前と比べて緩慢になってきたかもしれないなと思ったときに利用してあげるくらいでちょうどいいかなと(笑)
と、いうわけで利用頻度としてはそれほど高くはない部類のスクリプトではありますが、あればそれに越したことはないものなので是非紹介しておきたいなと思いエントリーしてみました。


タイムリーなスクリプトを作成してくださった958さん、GJですよ。

*1:XPの頃からのものをVistaへ持ってきて上書きしまくりなヤツね。