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
インデックスには679ページしかありません。 Olaのソリューションは、1000ページ未満のインデックスを無視するように設定されています(@PageCountLevel
パラメータ)。それをオーバーライドして、1000ページ未満のインデックスを対象にすることができますが、なぜですか?無駄な努力私見。
私はこのような小さなテーブルについて心配するのをやめます-Olaのソリューションがその仕事をするようにし、実際にそれが特定のインデックスの具体的なパフォーマンスの問題を引き起こしていることを証明できるときは、断片化について心配します。 「フラグメンテーションが高い」それ自体は問題ではありません。