SQL Server で性能不足で新しくインデックスを作ることを検討する
SQL Server で性能不足で新しくインデックスを作ることを検討する
備忘録として.
まずは現状の実行プランを確認する.
SQL Server Management Studio (SSMS) で「実際の実行プランを含める」をオンにして、対象のクエリを実行する.
そうすると実行プランと不足しているインデックスがサジェストされる.
サジェストを参考にインデックスを作成.
CREATE INDEX IDX_COL1 ON TBL1(COL1)
インデックスが出来たら性能変化の確認.
DBCC DROPCLEANBUFFERS
DBCC FREEPROCCACHE
でキャッシュを飛ばし、WITH 句で元のクエリで使われていたインデックスを指定して、クエリを実行.
SELECT ... FROM TBL1 WITH (INDEX(PK_...)) WHERE ...
再度キャッシュを飛ばし、WITH 句で新しく作ったインデックスを指定して、クエリを実行.
SELECT ... FROM TBL1 WITH (INDEX(IDX_COL1)) WHERE ...
それぞれの実行時間と読み取り行数を比較して、性能が向上したかを確認.
メールにコピペするために実行計画をテキストで欲しい場合は以下.
SET SHOWPLAN_TEXT ON
GO
SELECT ... FROM TBL1 WHERE ...
GO
SET SHOWPLAN_TEXT OFF
GO
Author And Source
この問題について(SQL Server で性能不足で新しくインデックスを作ることを検討する), 我々は、より多くの情報をここで見つけました https://qiita.com/c-yan/items/aee3bb2151b2350a6639著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .