1

まったく新しい DB やテーブルを作成するときに従うべきインデックス戦略は何ですか。分析するユーザークエリや、主に使用されている列を見つけるための要件が​​ないためです。インデックス戦略はどのようにする必要がありますか (どの列がクラスター化を構成し、どの列が非クラスター化に参加する必要がありますか)? このシナリオではどうすればよいですか?

4

3 に答える 3

1

事前に何も知らなくても、インデックスを惜しみなく適用するのが最善の方法です。これにより、書き込みパフォーマンスが大幅に低下しますが、少なくとも予期しないクエリを適切に処理できます。

于 2012-04-21T20:28:34.660 に答える
1

新しい開発プロジェクトと本番サポートに関して、インデックス作成が優先リストに入る絶対的な答えを見つけるのは困難です。新しい開発プロジェクトに関しては、データベース設計、インデックス作成戦略、およびデータ アクセス コードの構築に同じ時間を費やすことが賢明です。それがなければ、アプリケーションは本番環境で多大な注意を必要とするメンテナンスの悪夢になる可能性があります。多くの点で、データベースが何の注意も払わずに永久に実行されることが期待されるブラック ボックスとみなされる場合、これは言うは易く行うは難しです。その問題に直面した場合は、まずその考え方を変えて、時間、エネルギー、およびリソースがデータベースのニーズに適切に対応できるようにする必要があります。

運用アプリケーションの場合、パフォーマンスの問題が発生した場合、インデックスとクエリ プランを確認することを最優先する必要があります。多くの点で、インデックスを変更または追加することは、インデックスをパフォーマンスの問題を解決するための魔法の弾丸と見なすのではなく、レビュー、分析、テスト、および展開する多くの項目の 1 つにする必要があります。

インデックスに関するもう 1 つの重要な考慮事項は、アプリケーションが変更されると、インデックスも変更する必要がある場合があるということです。インデックスが停滞していると考えないでください。むしろ、インデックスへの影響を念頭に置いてコードを見直してください。そのため、アプリケーションの変更は変更を恐れず、改善されたインデックス作成戦略をテストして展開します。

ここでさらに読むことができますhttp://www.mssqltips.com/sqlservertip/1452/sql-server-index-checklist/

于 2012-04-21T20:17:26.470 に答える
1

関数/ストアド プロシージャで現在使用されている列にインデックスを付けます。アプリケーションが慣れてきたら、それに応じて調整し、チューニング ウィザードを実行できます。

于 2012-04-21T20:03:49.313 に答える