2009-03-03 11 views
8

tsqlクエリの作成中にインデックスチューニングを学習する最良の方法は何ですか?私はVS2008 SQL Expressを持っています。誰か私に例などを教えてもらえますか?私はすでにオンライン記事を見つけましたが、理論的には素晴らしいですが、私はまだ実際の行動でインデックスの調整を見ることができません。そこに小さな例を作るのは簡単ですか?SQL Serverのインデックスチューニングをどのように学習できますか?

答えて

6

索引を調整するには、大量の表を必要とする傾向があります。そのため、小さな単純な例は簡単には理解できません。

私の経験はSQL 2000ツールです。クエリアナライザは、実行計画を示し、使用されているインデックスと結合の種類を確認します。ここでそれを説明するのは非常に難しいです。

は、私は特に第9章

http://www.amazon.com/Professional-Server-Performance-Tuning-Programmer/dp/0470176393

手動でそれを自分で行う方法を理解するまで、私は自動化されたインデックスのチューニングツールを使用してからあなたを阻むだろう、件名に良い本をお勧めすることができます。私はそれが推奨を正当性チェックする能力を持っているインデックスを追加することを推奨し、それが良いオプションかどうかあなた自身のために決定することが重要であると思います。多くの列を含む "カバリング"インデックスを追加することをお勧めします。これは、分析を求める単一のクエリをスピードアップするためですが、そのテーブルに対してすべてのクエリを見たときにデータベース全体に悪影響を及ぼすことがあります。

+0

私はこれに答えると、私は人間かボットかどうか尋ねました! :(笑 – MikeW

+0

ジェフのアマゾンの紹介を盗むのを止める!thatsあなたはあなたのbot –

0

SQL Developer版をお持ちの場合は、データベース・エンジン・チューニング・アドバイザを参照してください。

プロファイラを使用してデータベースに対する標準作業負荷を取得する場合、DETAは適用可能な統計および索引を推奨できます。

新しい索引を追加すると作業負荷のスピードが増す可能性がありますが、重要ではないクエリーの速度を上げる可能性があるため、調整には十分注意が必要です。

TSQL Queryingについての良い本があります。これは、クエリの仕組みや、MSSQL特有のチューニングの仕方に関する非常に良いアドバイスです。

+0

そして、その良い本の名前はなんですか? – Svish

+0

http://www.amazon.com/Inside-Microsoft-SQL-Server-2005/dp/0735623139/ref=sr_1_1?ie=UTF8&s=books&qid=1242338708&sr=8-1 MIcrosoft SQlサーバー内部:T-SQLクエリ。 私は今、2008年がより適切かもしれないと思います。 – Spence

0

SQL Serverでは、データベーススキーマが単純なものであれば、プライマリキーによって自動的にクラスタ化インデックスが作成され、外部キー制約には一意なインデックスが必要なため、調整する必要はありません。 通常、あなたの結合が処理されます。

ここで、難しいのは、アプリケーション内のクエリが使用する検索とフィルタを使用することです。これらのクエリを特に見て、追加インデックスの候補を特定する必要があります。

もう1つのオプションはSQL Serverチューニングアドバイザですが、あまりにも多くのノイズを生成するため、使用することをお勧めします。ただし、それを使って最悪の問題を見つけることができます。

0

最悪の実行クエリを特定する出発点については、私の回答hereをご覧ください。

チューニングの方法を学ぶことは、練習を必要とするものです。あなたはそれで熟練になりたい場合は、Sajalダムの本を購入することで起動SQL Server Query Performance Tuning Distilled

関連する問題