sql >> データベース >  >> RDS >> Sqlserver

SQL Serverのチューニング–すべては測定に関するものです

    ブレントオザルは、高速化についてすべてを知っています。彼は車をレースし、毎日息をのむようなデータベースパフォーマンスの結果でSQLServerを刷新しています。彼のウェブキャスト「SQLServerの測定方法」で、QuestのDatabase Training Daysシリーズ ブレントは、パフォーマンスは測定がすべてだと私たちに思い出させました。

    パフォーマンスを向上させる

    ブレントは社会的距離を練習する機会を利用し、完全なレーシングスーツとヘルメットを着用してその部分をドレスアップしました。ウェブキャスト前のバンターで、彼がマイクをヘルメットに配線し、イヤフォンを耳にテープで固定する必要があることを学びました。しかし、私たちは逸脱します。ウェブキャストはすべてパフォーマンスに関するものであり、車の例えはたくさんありました。

    SQL Serverのパフォーマンスを向上させるための前提条件は、次のとおりです。

    • 改善に重点を置く指標を選択
    • 限定的な変更を行う前後のパフォーマンスを測定する(基本的な科学的方法)
    • 達成しようとしていることに対して間違った機器を使用している場合を理解する

    データベースパフォーマンスチューニングメトリック

    フォードF150トラック、フォードフィエスタ、その他の興味深い車両についての長い議論は、時速0マイルから60マイルまでの移動時間を改善するさまざまな方法があることを示しています。車両の重量を減らしたり、エンジンを大きくしたり、フロントガラスなどの不要なものを取り除いたりすることができます。パフォーマンスとユーティリティの間には妥協点があります。データベースはこのようなものです–データベースはしばしばロードダウンされます。これは、カスタムパフォーマンスチューニングが必要な場合であり、メトリックを把握して改善する必要があります。

    ブレントは、車とデータベースのパフォーマンスを調整するために必要な3つの主要な指標があると主張しています。重量、速度ベンチマーク(0〜60など)、およびエンジン(サーバー)の動作の程度です。

    データベースサイズの測定

    SQL Serverの重みは、データベースの合計サイズとデータ量に変換されます。これは通常、ギガバイトまたはテラバイトで測定されます。約1〜150 GBの場合、SQL ServerStandardEditionで十分です。 150〜500 GBは、EnterpriseEditionの簡単なロードです。 500 GBを超えると、それがアクティブなデータであるかどうか、およびどのようにアクセスされるかが重要になります。また、1TBを超えるOLTPデータは非常に困難な場合があります。

    パフォーマンス速度の追跡

    車の速度ベンチマークは簡単です–MPH。データベースの場合、1秒あたりのバッチリクエストですが、これはさまざまな期間に1時間ごとにトレンド分析する必要があります。明らかに、クエリが多いほど、ハードウェアによってはパフォーマンスが低下します。

    クエリワークロードの評価

    最後に、データベースがどの程度機能しているかを理解するには、現在実行されているクエリとキューで待機しているクエリを理解する必要があります。これにより、待機時間の比率がわかります。基本的に、タスクが他のタスクの完了を待機している時間です。待機時間の比率は、1時間あたりの待機時間の時間(または1秒あたりの待機時間の秒数)として表されます。測定単位を混在させないでください。時間の経過とともにこれらの統計を適切に処理すると、待機時間に何が影響するかを確認できます。たとえば、バッチリクエストの数が多いか少ないか、クエリの調整が良いか悪いかなどです。次に、これらの問題に取り組むことができます。

    ブレントの賢明なアドバイスとユーモアのすべてについては、オンデマンドのウェビナーレコーディングをご覧ください。


    1. 2018年のMySQL:8.0およびその他の所見の内容

    2. SQL Server Management Studio(SSMS)を使用したデータベース設計の概念パート1

    3. インデックスを使用してInnoDBでCOUNT(*)のパフォーマンスを最適化する方法

    4. Mysql列を行に変換(ピボットテーブル)