2009年3月18日水曜日

Firefoxのデータベース最適化

いろんなところで流行っているようなので試してみた。

sqlite3のWindows版をダウンロードしてsqlite3.exeを適当な場所にインストール。
以下のバッチファイルのPROFILEとSQLITE3のパスを設定。
Firefoxを終了して実行。
@ECHO OFF

SET PROFILE="C:\Documents and Settings\hoge\Application Data\Mozilla\Firefox\Profiles\xxxxxxxx.defaul"
SET SQLITE3="C:\Program Files\SQLite3\sqlite3.exe"

REM 日付と時刻を取得
FOR /F "tokens=1-3 DELIMS=/ " %%A IN ('DATE /T') DO SET DATE=%%A%%B%%C
FOR /F "tokens=1-2 DELIMS=: " %%A IN ('TIME /T') DO SET TIME=%%A%%B
SET DT=%DATE%%TIME%

CD %PROFILE%


REM 最適化前のバックアップ
FOR %%A IN (*.sqlite) DO (
ECHO backup: %%A
COPY /Y %PROFILE%\%%A %PROFILE%\%%A.%DT%.bak
)

REM vacuum
FOR %%A IN (*.sqlite) DO (
ECHO vacuum: %%A
%SQLITE3% %PROFILE%\%%A vacuum
)

REM reindex
FOR %%A IN (*.sqlite) DO (
ECHO reindex: %%A
%SQLITE3% %PROFILE%\%%A reindex
)
自己責任でね。