前田 (2011年9月22日 20:57) システムソリューション事業部 / ビジネスソリューション課 / SQLServer
こんにちは。 システムソリューション事業部 ビジネスソリューション課の 前田です。
DB運用では、 インデックスが断片化していないかをウォッチしておき 必要なタイミングで再構築するというようなことをして パフォーマンスダウンに備える必要があります。
SQL Serverでもこの断片化をウォッチするための sys.dm_db_index_physical_statsという 動的管理ビューというものがあります。
使い方は、Microsoftのリファレンスに詳しくありますので そちらを見てもらえればわかるかと思います。
http://msdn.microsoft.com/ja-jp/library/ms188917.aspx
で、実際これを使って運用などしておりますが、 これの注意点として、結構時間がかかります。 もちろんサイズによってはということになりますが、 GUIのSQL Server Management Studioで インデックスの断片化を見る場合も同様に時間がかかりますので、 そちらを利用されたことがある方はお気づきかとは思います。
ですので、調査するような仕組みを作る場合には、 これが大きな負荷とならないように、 うまく所要時間を想定して 分散するような形で実施するのが望ましいのではないかと思います。
SQL Serverでインデックスの断片化を調査する
前田 (2011年9月22日 20:57)
システムソリューション事業部 / ビジネスソリューション課 / SQLServer
こんにちは。
システムソリューション事業部
ビジネスソリューション課の
前田です。
DB運用では、
インデックスが断片化していないかをウォッチしておき
必要なタイミングで再構築するというようなことをして
パフォーマンスダウンに備える必要があります。
SQL Serverでもこの断片化をウォッチするための
sys.dm_db_index_physical_statsという
動的管理ビューというものがあります。
使い方は、Microsoftのリファレンスに詳しくありますので
そちらを見てもらえればわかるかと思います。
http://msdn.microsoft.com/ja-jp/library/ms188917.aspx
で、実際これを使って運用などしておりますが、
これの注意点として、結構時間がかかります。
もちろんサイズによってはということになりますが、
GUIのSQL Server Management Studioで
インデックスの断片化を見る場合も同様に時間がかかりますので、
そちらを利用されたことがある方はお気づきかとは思います。
ですので、調査するような仕組みを作る場合には、
これが大きな負荷とならないように、
うまく所要時間を想定して
分散するような形で実施するのが望ましいのではないかと思います。