[h2db]インデックスのリビルド

  h2database

一般にデータの更新を繰り返しているとインデックスが断片化、肥大化しまいます。H2DBも例外ではありません。そうしたインデックスをリビルド(再構築)する機能は現時点(2021/03/18)で実装されていません。

データベースを停止することができるのであれば、リカバリの手順と同じく、データをスクリプトとして出力、データベースを削除してスクリプトからデータを投入しなおすのがシンプルで良さそうです。データ登録の過程で自然にインデックスが作られていきます。

定期的にバックアップを取るのであれば、そのついでに行えば一石二鳥かもしれないです。

ロードマップには挙がっているので気持ちはあるみたいですが、優先度2の項目となのであまり期待できなさそうです。

Priority 2
・Rebuild index functionality to shrink index size and improve performance.

http://www.h2database.com/html/roadmap.html

リビルド機能があればデータベースを停止せずにインデックスを再構築できるってことなんでしょうが、そこまでの連続稼働が求められるシステムであればH2DBは選択肢から外した方がいいですね。市販のRDBを探した方がいいでしょう。

LEAVE A COMMENT