Olaのスクリプトを使用したインデックスのメンテナンス中に、そのインデックスの合計読み取りに基づいて「未使用」のインデックスをスキップする方法はありますか?
という事は承知しています
後者に答えるために、これはベンダー提供のアプリケーションであり、OLTP 2TBのDBを使用しています。準拠を維持するために、私たちは多くを変更することはできず、他のものの間でそれらのインデックスを削除することはできません。したがって、これらのインデックスが使用されていないことを確認したら、これらのインデックスをスキップすることでメンテナンス時間を短縮することは有益だと思いました。
コメントをフォローするには、これが実行できない場合は、拡張機能としてOlaに投げる価値がありますか?
私はそのようなオプションはないと思います、そしてOlaに機能リクエスト(またはプルリクエスト)を提出することができますが、除外したいインデックスのリストを提出することができます。
たとえば、_ALL_INDEXES, -Db1.Schema1.Tbl1.Idx1
_を_@indexes
_パラメータに渡すと、スクリプトはデータベースDb1のオブジェクトSchema1.Tbl1のインデックスIdx1をスキップします。
_@indexes
_パラメータはnvarchar(max)
であるため、必要なだけインデックスを渡すことができます。
これは維持するのが非常に退屈になるかもしれませんが、未使用のインデックスを決定するために使用するクエリからリストを生成できるはずです。
ただし、このアプローチでは、スキップするインデックスをよりきめ細かく制御できるため、たまにしか使用されないインデックスをスキップしないようにしたり、別のジョブを作成して、通常の未使用の大きなインデックスをスキップしたりできます。仕事ですが、メンテナンスウィンドウが大きい場合などは、それらの一部を最適化します。