web-dev-qa-db-ja.com

インデックスの再構築またはインデックスの再編成操作を実行することを検討する価値がある、テーブル内のサイズまたはインデックス内のデータページの数はどれくらいですか?

Books Online for Reorganize and Rebuild Indexes Microsoftは次のように述べています。

小さな行ストアインデックスを再構築または再編成しても、断片化は減りません。

インデックスの再編成またはインデックスの再構築操作を検討する価値がある場所のカットオフの前後で、どのくらいの行数またはデータページ数が考慮されますか?

2
J.D.

また、「断片化の低減」は、それ自体のパフォーマンス目標ではありません。多くの(ほとんど?)現代のストレージプラットフォームでは、シーケンシャルIOとランダムIOにほとんど違いがありません。これが、デフラグの主な歴史的理由です。

シーケンシャルとランダムのスループットの違いIOが10倍以上であるシステムで作業しました。SQLServerがフラグメント化されたインデックスをスキャンしようとするとき、リンクされたリストの物理ファイルの場所ページはいくつかのエクステントごとにジャンプし、IOサイズを減らし、IOをランダム化し、先読みIOを防ぎ、SANへの投機的読み取りの利点を排除します。コントローラキャッシュ。

最近のシステムでは、ストレージは多くのスピンドルを備えているか、フラッシュベースです。これらはどちらも、小さなランダムIOと大きな順次IOのパフォーマンスの差を減らします。

また、テーブルが頻繁にキャッシュされる場合、ストレージをデフラグする利点on diskは減少します。また、小さな行ストアテーブルは通常キャッシュされます。