2

データベース管理者がコマンドを実行したり、ユーザーがボタンをクリックしたりする必要がないように、Firebird データベースにインデックス統計を設定するプロセスを自動化したいと考えています。

統計は、多数の挿入または削除の後にのみ再計算する必要があるため、After Insert および After Delete トリガーを使用して、挿入または削除が行われた回数を追跡し、インデックス統計を設定する手順を実行することを検討しています。その値に基づいています。

私の質問は、稼働中のデータベースでこの方法でインデックス統計を設定する際に注意すべき点があるかどうかです。明確にするために、私はインデックスを再構築しているのではなく、インデックス統計のみを再計算しています。これは、一括インポートまたは削除操作中に発生する可能性があります。一括インポートまたは削除中にインデックス統計を計算すると、問題が発生する可能性がありますか?

4

1 に答える 1

2

使用中のライブ データベースでインデックス統計を再計算しても安全です。また、ストアド プロシージャなどの PSQL でも安全に実行できます。たとえば、夜間にスケジュールされたバッチ ジョブを実行しています。このジョブは、すべてのインデックスの統計を再計算するストアド プロシージャを実行します。

Firebirdのトリガーはステートメントごとではなく行ごとに起動するため、トリガーでそれを行うのが賢明かどうかはわかりません。したがって、PSQL本体のある種の条件分岐で必ず実行する必要があります。

于 2012-12-04T21:07:50.850 に答える