tsqlクエリの作成中にインデックスチューニングを学習する最良の方法は何ですか?私はVS2008 SQL Expressを持っています。誰か私に例などを教えてもらえますか?私はすでにオンライン記事を見つけましたが、理論的には素晴らしいですが、私はまだ実際の行動でインデックスの調整を見ることができません。そこに小さな例を作るのは簡単ですか?SQL Serverのインデックスチューニングをどのように学習できますか?
答えて
索引を調整するには、大量の表を必要とする傾向があります。そのため、小さな単純な例は簡単には理解できません。
私の経験はSQL 2000ツールです。クエリアナライザは、実行計画を示し、使用されているインデックスと結合の種類を確認します。ここでそれを説明するのは非常に難しいです。
は、私は特に第9章
http://www.amazon.com/Professional-Server-Performance-Tuning-Programmer/dp/0470176393
手動でそれを自分で行う方法を理解するまで、私は自動化されたインデックスのチューニングツールを使用してからあなたを阻むだろう、件名に良い本をお勧めすることができます。私はそれが推奨を正当性チェックする能力を持っているインデックスを追加することを推奨し、それが良いオプションかどうかあなた自身のために決定することが重要であると思います。多くの列を含む "カバリング"インデックスを追加することをお勧めします。これは、分析を求める単一のクエリをスピードアップするためですが、そのテーブルに対してすべてのクエリを見たときにデータベース全体に悪影響を及ぼすことがあります。
SQL Developer版をお持ちの場合は、データベース・エンジン・チューニング・アドバイザを参照してください。
プロファイラを使用してデータベースに対する標準作業負荷を取得する場合、DETAは適用可能な統計および索引を推奨できます。
新しい索引を追加すると作業負荷のスピードが増す可能性がありますが、重要ではないクエリーの速度を上げる可能性があるため、調整には十分注意が必要です。
TSQL Queryingについての良い本があります。これは、クエリの仕組みや、MSSQL特有のチューニングの仕方に関する非常に良いアドバイスです。
SQL Serverでは、データベーススキーマが単純なものであれば、プライマリキーによって自動的にクラスタ化インデックスが作成され、外部キー制約には一意なインデックスが必要なため、調整する必要はありません。 通常、あなたの結合が処理されます。
ここで、難しいのは、アプリケーション内のクエリが使用する検索とフィルタを使用することです。これらのクエリを特に見て、追加インデックスの候補を特定する必要があります。
もう1つのオプションはSQL Serverチューニングアドバイザですが、あまりにも多くのノイズを生成するため、使用することをお勧めします。ただし、それを使って最悪の問題を見つけることができます。
最悪の実行クエリを特定する出発点については、私の回答hereをご覧ください。
チューニングの方法を学ぶことは、練習を必要とするものです。あなたはそれで熟練になりたい場合は、Sajalダムの本を購入することで起動SQL Server Query Performance Tuning Distilled
キンバリー・トリップ(SQL女神)は専門家であり、被写体に&書かれたたくさんの話をしています
http://www.sqlskills.com/BLOGS/KIMBERLY/category/Indexes.aspx
ケン・イングランドのMicrosoft SQL Server 2000 Performance Optimization and Tuning Handbookは古典的です。 (Amazonのレビューは、この本の2005年版はあまり良くないと言っています)
- 1. どのような学習習慣をお勧めできますか?
- 2. SQL Server 2008とストアドプロシージャの学習
- 3. SQL Serverのアラートまたは通知については、どこから学習し始めますか?
- 4. ランダムフォレストモデルの学習曲線をどのようにプロットしますか?
- 5. Wekaマシン学習:どのようにNaive Bayesクラシファイアをインタープレットするのですか?
- 6. 機械学習のアプローチを自然言語処理にどのように適用できますか?
- 7. SQL Server 2005でクエリの結果をどのようにローテーションできますか?
- 8. ヘッダーファイルを学習するC++。このセミコロンはどうですか?
- 9. ASP.NET用Sqlメンバーシップ、学習リソース
- 10. 機械学習 - どのようにランク付けされた分類リストを取得できますか?
- 11. 言語を学習するにはどうすればよいですか?
- 12. JavaScript - ちょうど学習のため
- 13. 学習者のモデルオブジェクトをjoblibでエクスポートできますか?
- 14. MySqlのバージョンはどのようにして習得できますか?
- 15. 機械学習で学習曲線とは何ですか?
- 16. ActionScript:As3から直接ActionScriptの学習を開始できます
- 17. SQL Server CE 4.0データベースはどのように操作できますか?
- 18. pinaxはアカウントの基本プロジェクトでcssファイルにアクセスする方法をどのように学習しますか?
- 19. 機械学習の学習に最適なプログラミング言語は何ですか?
- 20. 自分でアルゴリズムを学習すると、どのようにタプルをJavaで実装しますか?
- 21. three.jsの学習リソースはどこから入手できますか
- 22. SQL Server 2008がR2リリースであるかどうかはどのように確認できますか?
- 23. どのようにSQL Serverの
- 24. どのようにOracleとSQL Serverの
- 25. は、どのようにSQL Serverの
- 26. MapRにスケーラブルな機械学習アルゴリズムがありますか? Mahoutのように?
- 27. グラフィカルレイアウトアルゴリズムの学習
- 28. Subversionの学習
- 29. エンティティフレームワークの学習
- 30. Microsoft SQLのバックグラウンドからMySqlを学習する
私はこれに答えると、私は人間かボットかどうか尋ねました! :(笑 – MikeW
ジェフのアマゾンの紹介を盗むのを止める!thatsあなたはあなたのbot –