web-dev-qa-db-ja.com

Ola Hallengrenインデックス最適化スクリプトがインデックスを再構築しない

Ola Hallengrenのスクリプトをダウンロードし、マスターデータベースに展開しました。以下を使用して実行します...

EXECUTE dbo.IndexOptimize
 @Databases = 'USER_DATABASES',
 @FragmentationLow = NULL,
 @FragmentationMedium = 'INDEX_REORGANIZE,INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE',
 @FragmentationHigh = 'INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE',
 @FragmentationLevel1 = 5,
 @FragmentationLevel2 = 30

SSMSでこの出力を取得しましたが、インデックスは再構築されていません。断片化は依然として非常に高いです。何か不足していますか?

Date and time: 2015-03-01 14:07:24
Server: TestSvr
Version: 10.50.2500.0
Edition: Standard Edition (64-bit)
Procedure: [master].[dbo].[IndexOptimize]
Parameters: @Databases = 'USER_DATABASES', 
@FragmentationLow = NULL, 
@FragmentationMedium = 'INDEX_REORGANIZE,INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE',     
@FragmentationHigh = 'INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE', 
@FragmentationLevel1 = 5, 
@FragmentationLevel2 = 30, 
@PageCountLevel = 1000, @SortInTempdb = 'N', 
@MaxDOP = NULL, @FillFactor = NULL, @PadIndex = NULL, 
@LOBCompaction = 'Y', @UpdateStatistics = NULL, 
@OnlyModifiedStatistics = 'N', @StatisticsSample = NULL, 
@StatisticsResample = 'N', @PartitionLevel = 'Y', 
@MSShippedObjects = 'N', 
@Indexes = NULL, @TimeLimit = NULL, @Delay = NULL, 
@WaitAtLowPriorityMaxDuration = NULL, 
@WaitAtLowPriorityAbortAfterWait = NULL, @LockTimeout = NULL, 
@LogToTable = 'N', @Execute = 'Y'
Source: https://ola.hallengren.com

Date and time: 2015-03-01 14:07:24
Database: [TestData]
Status: ONLINE
Standby: No
Updateability: READ_WRITE
User access: MULTI_USER
Is accessible: Yes
Recovery model: SIMPLE

enter image description here

4
K09

インデックスには679ページしかありません。 Olaのソリューションは、1000ページ未満のインデックスを無視するように設定されています(@PageCountLevelパラメータ)。それをオーバーライドして、1000ページ未満のインデックスを対象にすることができますが、なぜですか?無駄な努力私見。

私はこのような小さなテーブルについて心配するのをやめます-Olaのソリューションがその仕事をするようにし、実際にそれが特定のインデックスの具体的なパフォーマンスの問題を引き起こしていることを証明できるときは、断片化について心配します。 「フラグメンテーションが高い」それ自体は問題ではありません。

15
Aaron Bertrand