2016-11-16 23 views
1

インデックス再構築/再編成は、アプリケーションで定期的に実行する予定です。単一インデックスとすべてのテーブルインデックスの再構成/再構築

インデックスの断片化が5%を超えた場合に再編成し、30%を超えると再構築する必要があることを認識しています。

私達はちょうど私たちが再構築/再編成しなければならないかどうかを疑問に思っている:

  • テーブルの上に断片化しているだけで、特定のインデックス(ON ALTER INDEX {名} ...)
  • テーブル上のすべてのインデックスを( ALTER INDEX ALL ON ...)少なくとも1つのインデックスがフラグメント化されている場合

どのアプローチが改善していますか?

+1

をスクリプトを取得することができ、私は最初のオプションは –

+0

おかげ@Prdp優れていると思います。理由を説明できますか?論理的な視点からは、私にとっては(間違ったものだけを再編成し、他の人はそのまま残しておく)方が良いようですが、いくつかのMSのベストプラクティスで確認することは素晴らしいでしょう。 – jabko87

答えて

1

SQL Serverにこのような操作のための組み込み関数がない理由はわかりませんが、最近はインデックス保守のためにOla Hallengrenで書かれたスクリプトを使用しましたが、これは最も美しいコードです来て、無料でもあります。

スクリプトには次のようなクールな機能があります。

  1. これは、SQL Serverのすべてのバージョンと互換性のある2005年、2008年、2012年、2014年と2016年

  2. フラグメンテーションは、以下のことがインデックスを再構築、30%、他の場合にそれがインデックスをreorgs。パラメータを使用してこのしきい値を変更することもできます。

  3. エンタープライズであれば、インデックスをオンラインで再構築します。それ以外の場合は、オフラインで再構築します。

私はこのリストが確実にチェックされることを意味します。

あなたがここからSQL Server Index and Statistics Maintenance" by Ola Hallengren"

関連する問題