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. は、学習エージェントが離散分布を学習できるようにする
- 4. SQL Serverでどのように転記できますか?
- 5. SQL Serverでsp_executesqlを学習するのに苦労しています
- 6. 学習:デザインパターンを学習する前にTDDを学ぶべきですか?
- 7. 教師付き学習と教師なし学習の質問をどうやって出すのですか?
- 8. SQL Serverのアラートまたは通知については、どこから学習し始めますか?
- 9. ディープ学習はどのようにリアルタイムで動作しますか?
- 10. ランダムフォレストモデルの学習曲線をどのようにプロットしますか?
- 11. Wekaマシン学習:どのようにNaive Bayesクラシファイアをインタープレットするのですか?
- 12. SQLインジェクションの学習:テーブルを削除できません
- 13. SQL Server 2005でクエリの結果をどのようにローテーションできますか?
- 14. 機械学習は多次元データをどのように扱いますか?
- 15. SQL Server:動的列を使用してどのようにマージできますか? SQL Serverの2016年に
- 16. CNNのフィルタはどのように学習されていますか?
- 17. 機械学習のアプローチを自然言語処理にどのように適用できますか?
- 18. 機械学習をPythonでどのようにアプローチすることができますか?
- 19. SQL Server 2014のパフォーマンスをどのように評価できますか?
- 20. ヘッダーファイルを学習するC++。このセミコロンはどうですか?
- 21. 機械学習モデルはどのように更新されますか?
- 22. 学習処理 - saveBytes()はどのように使用しますか?
- 23. TensorFlowエスティメーターでの学習/再学習
- 24. Android StudioとローカルサーバーデータベースSQL Server 2008をどのように接続できますか?
- 25. 言語を学習するにはどうすればよいですか?
- 26. 機械学習 - どのようにランク付けされた分類リストを取得できますか?
- 27. どのように、SQL Server Management Studioで
- 28. ASP.NET用Sqlメンバーシップ、学習リソース
- 29. JavaScript - ちょうど学習のため
- 30. SQL Server CE 4.0データベースはどのように操作できますか?
私はこれに答えると、私は人間かボットかどうか尋ねました! :(笑 – MikeW
ジェフのアマゾンの紹介を盗むのを止める!thatsあなたはあなたのbot –