架构师_程序员_码农网

ユーザー名 パスワード取得
会員登録

QQ登录

ワンステップ

検索
表示:12183|返信: 1
打印 上一主题 下一主题

[アーカイブ]SQL Server パフォーマンスの最適化 - インデックスの断片化

[コピーリンク]
SQLServer パフォーマンスの最適化
インデックスの断片化の概要

インデックスの断片化とは何か:
インデックスの断片化は、インデックス内の論理的な順序(インデックス内のキー値に基づく)がインデックスされたページ内の物理的な順序と一致しないページがインデックスに含まれる場合に発生します。
データベースエンジンは、基礎となるデータに対して挿入、更新、または削除操作が行われるたびに、自動的にインデックスを修正します。 例えば、テーブルに行を追加すると、新しいキー値を挿入するスペースを確保するために、行ストアインデックス内の既存のページが分割されることがあります。 時間の経過とともに、このような変更によってインデックス内の情報がデータベース全体に散在(断片化)する可能性があります。 断片化は、インデックスに含まれるページの論理的な順序(キー値に基づく)が、データファイルの物理的な順序と一致しない場合に発生します。
断片化されたインデックスが大量に存在すると、インデックスが指すデータを検索するために追加のI/Oが必要になるため、クエリのパフォーマンスが低下する可能性があります。 I/Oが増えると、特にスキャン操作が含まれる場合、アプリケーションの応答が遅くなる可能性があります。
データベース・インデックスの断片化を確認するには

コマンドを実行します:



インデックスのデフラグには、インデックスの再編成とインデックスの再作成という2つの方法があります。 インデックスの再作成とは、古いインデックスを削除し、新しいインデックスを1回のトランザクションで再構築することです。インデックスの再編成とは、新しい記憶領域を割り当てず、元の領域に基づいてインデックス構造のリーフノードを再編成し、データページの論理的な順序が物理的な順序と一致するようにし、インデックス内の余分な領域を解放することを意味します。

関数sys.dm_db_index_physical_statsを使用して断片化の度合いを検出し、フィールドavg_fragmentation_in_percentは論理的な断片化のパーセンテージで返されます:

avg_fragmentation_in_percent >5%、<=30%:インデックスを再編成する(ALTER INDEX REORGANIZE);
avg_fragmentation_in_percent >30%:インデックスを再構築する(ALTER INDEX REBUILD);

avg_fragmentation_in_percent: インデックスの断片化率、断片化率が10%から20%未満の場合、断片化が問題になる可能性は低い、断片化率が20%から40%の場合、断片化が問題になる可能性があるが、インデックスを再編成してインデックスを削除することで解決できる、大規模な断片化(断片化率が40%を超える場合)はインデックスの再構築が必要になる可能性がある。.


指定したテーブルの全インデックスの断片化情報を問い合わせるには



テーブル再構築インデックス


データベース全体のすべてのテーブルのインデックスを再構築する



参照: https://docs.microsoft.com/zh-cn/sql/relational-databases/indexes/reorganize-and-rebuild-indexes?view=sql-server-ver15




前の記事:URLの末尾が誤って「/itsvse」になっているため、リクエスト形式を認識できません。
次の記事:ORMフレームワークDapperの使い方は簡単です。
SQL Server のデッドロック問題を追跡するための拡張イベント SQL Server のデッドロック問題を追跡するための拡張イベント SQL Server のデッドロック問題を追跡するための拡張イベント SQL Server のデッドロック問題を追跡するための拡張イベント SQL Server のデッドロック問題を追跡するための拡張イベント SQL Server のデッドロック問題を追跡するための拡張イベント
zgy0209zgyzgy0209zgy zgy0209zgy
发表于2021-9-22 13:11:22只看该作者
|にできるようにあなたがそれをすることができます本当に出くわすことあなたは、実際には私たち約束、誰でも素早くはちょうど無視これらの一見正確にどのように{}人のことを忘れることができます。
コード農家ネットワーク、唯一の練習の過程で公開され、技術的な困難に遭遇し、他の人を誤解させないでください。
投稿するにはログインが必要です ログイン会員登録

このバージョンのインテグラルルール


免責事項:コードファーマーによって公開されたすべてのソフトウェア、プログラミング教材や記事は、学習や研究目的のために使用されるだけであり、上記のコンテンツは、商業的または違法な目的のために使用してはならない、そうでなければ、すべての結果は、ユーザーの責任でお願いします。このサイトは、ネットワークからの情報、著作権紛争は、このサイトとは何の関係もありません。あなたは完全にダウンロードしてから24時間以内にコンピュータから上記のコンテンツを削除する必要があります。もしこのプログラムが好きなら、正規のソフトウェアをサポートし、登録を購入し、より良い正規のサービスを受けてください。もし著作権侵害があれば、メールでご連絡ください。

メール To:help@itsvse.com

QQ|( 鲁ICP备14021824 号-2)|サイトマップ

GMT+8, 2024-9-19 00:16

クイック返信トップに戻る一覧に戻る