SQLite の VACUUM
2007年2月14日
最近、このブログの表示がやけに遅いなと思っていた。症状としては、接続してから表示が始まるまでに少し待たされ、一度表示が始まるとさっと表示されるというもの。
原因として考えられたのが、現在開発中のNP_Firewall。このプラグインは、まずデータベーステーブルの内容を呼び出し、$_POST や $_GET の値をそのテーブルの内容と比較するというもの。『こんなに遅いんじゃ、このプラグインはだめかな。開発をやめようか。』と考え始めていた。
ところが、NP_SQLiteの管理画面から『バキューム』を実行すると、元通りのスピードに。SQLiteのデータベースファイルに垢がたまっていたのがスピードに影響していたらしい。
というわけでSQLiteをご利用の皆さん、こまめにVACUUMを実行しましょう。ただし、同じくこまめにバックアップを取ることをお勧めします。『VACUUMに失敗』なんて事になる可能性が無いわけじゃないので(私は経験ありませんが)。
原因として考えられたのが、現在開発中のNP_Firewall。このプラグインは、まずデータベーステーブルの内容を呼び出し、$_POST や $_GET の値をそのテーブルの内容と比較するというもの。『こんなに遅いんじゃ、このプラグインはだめかな。開発をやめようか。』と考え始めていた。
ところが、NP_SQLiteの管理画面から『バキューム』を実行すると、元通りのスピードに。SQLiteのデータベースファイルに垢がたまっていたのがスピードに影響していたらしい。
というわけでSQLiteをご利用の皆さん、こまめにVACUUMを実行しましょう。ただし、同じくこまめにバックアップを取ることをお勧めします。『VACUUMに失敗』なんて事になる可能性が無いわけじゃないので(私は経験ありませんが)。