SQL Serverのインデックス作成 ― インデックスの断片化を確認、報告、修正
パフォーマンスの向上のために、SQL Serverインデックスの断片化を回避する
スローダウンの原因と、SQL Serverインデックスの断片化に問題が発生する場合について理解する
SQL Serverまたは別のデータベースでのスローダウンの原因が何であろうとも、ユーザー エクスペリエンスに影響を与えないよう、問題の根本原因をすばやく探ることが重要です。
SolarWinds® Database Performance Analyzer(DPA)の応答時間分析(RTA)機能は、スロー クエリの原因となる内部および外部サーバーの断片化をより簡単に特定し、ブロッキングを特定して、ボトルネックの根本原因を正確に把握できるように設計されています。リアルタイムおよび履歴の監視データを使用して、パフォーマンスのベースラインを設定できます。RTAは、エンドユーザーのクエリから応答までのデータベース パフォーマンスを測定するように構築されており、DBAがエンドユーザーへの影響に基づいてデフラグ戦略を選択できるようにします。
SQL Serverのインデックス最適化を使用して、データベースのパフォーマンスを調整する
効果的なデータベース パフォーマンスの調整において、多くの場合、実際の根本原因の特定は正確なデータベースの洞察にかかっています。DPAのSQLパフォーマンス アナライザーを使用すると、DBAはサーバー上のSQLインデックスの断片化を確認し、待機時間、SQLステートメント、および過去5秒間や5年間の実際のワークロードに関する正確なアドバイスを取得して、インデックスとクエリの調整に使用できます。
DPAは、影響が大きく非効率的なT-SQLを特定して、重要なアクション アイテムに優先順位を付けるのに役立つようにも設計されています。これらの洞察は、DBAがリソース使用率やハードウェア アドオンを超えて、より効果的にSQL Serverのパフォーマンスを調整 して速度を上げるのに役立ちます。
自動アラートをカスタマイズして、SQL Serverインデックスの断片化について常に把握する
SolarWinds Database Performance Analyzerを使用してSQL Serverインデックスの断片化を追跡すると、異常やパフォーマンスの低下をDBAに即座に通知するように設計された機械学習ツールなど、ソリューションの堅牢なアラート機能を利用できるようになります。MSSQL Always On可用性グループ環境では、SQL Serverのステータスを外部に伝達する機能を使用して、電子メールまたはSNMPトラップを介してインデックスの問題を24時間年中無休で監視できるようにすることで、ステータスまたはヘルスに変更があった場合に警告を受けることもできます。デフォルトのアラートしきい値を使用して、30%の断片化とクリティカルレベルである50%の断片化を見つけたり、カスタム アラートを簡単に設定したりできます。
明確なダッシュボードとSQL Serverの断片化レポートを表示して、問題を簡単にドリルダウンする
SQL Serverインデックスの断片化とパフォーマンスの調整に対処する場合、可視性は非常に重要です。SolarWinds Database Performance Analyzerを使用すると、ステークホルダー間で共有可能な統合ビューを提供する直感的なダッシュボードを通じて、SQL Serverの断片化を簡単に確認できます。このシステムは、応答時間とシステム リソースの相関関係をすばやく確認するのに役立ちます。
DPAは、SQLインデックスの断片化レポート機能も提供し、DBAがレポートをカスタマイズし、デッドロックの解決策を表示し、断片化によって引き起こされる容量の制約とスローダウンにプロアクティブに対処できるようにします。
SQL Serverのインデックス最適化のための実用的なテーブル調整アドバイスにアクセスする
SolarWinds DPAは、SQLインデックスの断片化に関する問題を単に警告するだけではありません。このソリューションには、SQL Serverインデックスの断片化、SQL Serverクエリの問題などを解決および確認するのに役立つ、実用的なアドバイスを提供する調整アドバイザーが含まれています。非効率的なクエリは、I/O、待機時間、ブロッキングの増加を引き起こす可能性があるため、DPAのワークロードと断片化に関するアドバイスは、適切な調整または修正を実装しやすいように設計されています。テーブル調整アドバイザー ページには、最も非効率的なクエリの毎日の分析とスコアが表示されるため、より多くの情報に基づいたアクションを実行できます。この専門家のアドバイスは、Oracle、IBM DB2、SQL Server、およびSAP Adaptive Server Enterprise(ASE)などの多くの主要な商用データベースに適用できます。
SQL Serverインデックス断片化の詳細
このような疑問を持ったことはありませんか…
インデックスの断片化は、通常、インデックス内のデータが変更されるときに、インデックスの存続期間を通じて発生します。これらの変更が挿入、削除、更新のいずれであっても、インデックスは断片化する可能性があります。
インデックスの断片化を理解するには、最初にインデックス自体を理解する必要があります。インデックスは、ビューまたはテーブルの列に作成されます。この整然とした構造は、それらの列の値に基づいて必要なデータを簡単に検索できるように設計されています。
インデックスの断片化が発生すると、重要なデータベースの機能であるデータの取得に大きな遅延が発生し、効率が低下します。インデックスの断片化によって引き起こされるパフォーマンスの低下は、それが従業員であろうと顧客であろうと、エンドユーザーに深刻な影響を与える可能性があります。
ディスクにインデックスを格納するためにBツリー構造が使用されます。インデックスはディスク上の構造です。これらは、ビューまたはテーブル内の複数の列のいずれかを指すキーで構成されています。最初に列にインデックスを作成した後、インデックス内の番号に基づいて必要な行を検索できます。サーバーが検索を実行します。最初にインデックスで必要な値を見つけ、次にインデックス自体を使用して、データベースで探している行データを見つけます。インデックスがない場合、サーバーは必要な行データを見つけるためにテーブル全体のスキャンを実行する必要があるため、このプロセスにかかる時間が長くなります。これは非常に遅いプロセスとなり、相当量のI/Oを必要とします。
インデックスの断片化は、通常、インデックス内のデータが変更されるときに、インデックスの存続期間を通じて発生します。これらの変更が挿入、削除、更新のいずれであっても、インデックスは断片化する可能性があります。
インデックスの断片化を理解するには、最初にインデックス自体を理解する必要があります。インデックスは、ビューまたはテーブルの列に作成されます。この整然とした構造は、それらの列の値に基づいて必要なデータを簡単に検索できるように設計されています。
インデックスの断片化が発生すると、重要なデータベースの機能であるデータの取得に大きな遅延が発生し、効率が低下します。インデックスの断片化によって引き起こされるパフォーマンスの低下は、それが従業員であろうと顧客であろうと、エンドユーザーに深刻な影響を与える可能性があります。
ディスクにインデックスを格納するためにBツリー構造が使用されます。インデックスはディスク上の構造です。これらは、ビューまたはテーブル内の複数の列のいずれかを指すキーで構成されています。最初に列にインデックスを作成した後、インデックス内の番号に基づいて必要な行を検索できます。サーバーが検索を実行します。最初にインデックスで必要な値を見つけ、次にインデックス自体を使用して、データベースで探している行データを見つけます。インデックスがない場合、サーバーは必要な行データを見つけるためにテーブル全体のスキャンを実行する必要があるため、このプロセスにかかる時間が長くなります。これは非常に遅いプロセスとなり、相当量のI/Oを必要とします。
SQL Serverインデックスの断片化に、より簡単に対処する
Database Performance Analyzer
- SQL Serverインデックスの断片化の問題に関する洞察を得て、エンドユーザーに影響を与える前に問題の解決を開始する。
- データベースのパフォーマンスを監視し、カスタマイズ可能なアラートを受信して、よりプロアクティブで情報に基づいた調整を行う。
- SQL Serverインデックスの断片化の問題に対処するためのアドバイスと優先アクション項目にアクセスする。




