SQLiteのデータベースファイル最適化 (PHP)


PHP5には標準でSQLiteが付属しています。
データが一つのファイルで完結するので非常に管理が楽です。この点はバックアップなどでは有利です。

ところで、多くのデータベースで、レコードの追加、削除を繰り返すと、ファイルが肥大化してしまいます。(処理速度向上のため削除したレコードに削除フラグを立てるだけにすることが多いようです。)
SQLiteの最適化はVACUUMコマンドで行うことができます。

$link = sqlite_open('ファイル名', 0666, $error);
if (!$link) {
	die($error);
}
$sql = "VACUUM";
$flag= sqlite_exec($link, $sql, $error);
if (!$flag) {
	die($error);
}else{
	print('最適化完了');
}
sqlite_close($link);

ちなみに、SQLiteのバージョンの異なるとVACUUM後に読み込めなくなることもあるらしいので、必ずバックアップをとってから試してください。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

SPAM防止のため数字と漢数字の算数の計算をお願いします。 * Time limit is exhausted. Please reload CAPTCHA.