web-dev-qa-db-ja.com

オラインデックスと更新統計

Index maintannaceolaスクリプトを実行する適切な方法は何かを尋ねたかったのです。 @UpdateStatistics = 'Y'、および@OnlyModifiedStatistics = 'Y'を含めますか?

私が尋ねる理由は、私がどこを読んでも、誰もがインデックスの再構築後に統計を更新しないと言っているからです。私が見ていることから、これらの2つのオプションが高度に断片化されているか、インデックスを再編成できなかった場合、再構築された統計は更新され(列の統計を除く)、統計を再度更新するよりも統計が更新されます。

別のジョブで統計を更新したり、別の時間/日に実行したりする方がよいでしょうか、それともこれらのオプションを含めるのが適切でしょうか?

1
Marcin Wilczek

表示しているパラメーターは、インデックスが再編成されている場合にのみ使用されます。

タスクの実行時に提供する断片化のレベルに応じて、IndexOptimizeストアドプロシージャはインデックスを再構築します(は統計の更新を必要としません )、または再編成します(doには統計の更新が必要です)。

次のコードを使用して、統計をのみ更新できる3番目のシナリオがあります(Olaの サイト から):

EXECUTE dbo.IndexOptimize
@Databases = 'USER_DATABASES',
@FragmentationLow = NULL,
@FragmentationMedium = NULL,
@FragmentationHigh = NULL,
@UpdateStatistics = 'ALL',
@OnlyModifiedStatistics = 'Y';

このシナリオでは、フラグメンテーションオプションが明示的にNULLに設定されていることに注意してください。

2
Randolph West