Skip to content

Commit 170ce89

Browse files
authored
columnstore index
1 parent f98d732 commit 170ce89

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

QueryTemplates/Performance/index-fragmentation.sql

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,17 @@ SELECT dbschemas.[name] as 'Schema',
66
FORMAT(AVG(indexstats.avg_fragmentation_in_percent), 'N2') AS avg_fragmentation_in_percent,
77
FORMAT(SUM(indexstats.page_count), 'N0') AS page_count,
88
'ALTER INDEX ['+dbindexes.[name]+'] ON [' + dbschemas.name + '].['+dbtables.[name]+'] REORGANIZE PARTITION = '
9-
+ CASE WHEN EXISTS(SELECT TOP 1 1 FROM sys.partition_schemes s WHERE s.data_space_id = dbindexes.data_space_id) THEN CAST(indexstats.partition_number AS VARCHAR(3)) ELSE 'ALL' END + ';' AS CmdReorg,
9+
+ CASE WHEN EXISTS(SELECT TOP 1 1 FROM sys.partition_schemes s WHERE s.data_space_id = dbindexes.data_space_id)
10+
THEN CAST(indexstats.partition_number AS VARCHAR(3)) ELSE 'ALL' END + ';' AS CmdReorg,
1011
'ALTER INDEX ['+dbindexes.[name]+'] ON [' + dbschemas.name + '].['+dbtables.[name]+'] REBUILD PARTITION = '
11-
+ CASE WHEN EXISTS(SELECT TOP 1 1 FROM sys.partition_schemes s WHERE s.data_space_id = dbindexes.data_space_id) THEN CAST(indexstats.partition_number AS VARCHAR(3)) ELSE 'ALL' END
12-
+ ' WITH (ONLINE = ON (WAIT_AT_LOW_PRIORITY (MAX_DURATION = 1 MINUTES, ABORT_AFTER_WAIT = SELF)), '
13-
+ 'SORT_IN_TEMPDB = ON);' AS CmdRebuild
12+
+ CASE WHEN EXISTS(SELECT TOP 1 1 FROM sys.partition_schemes s WHERE s.data_space_id = dbindexes.data_space_id)
13+
THEN CAST(indexstats.partition_number AS VARCHAR(3)) ELSE 'ALL' END
14+
+ ' WITH ('
15+
+ CASE WHEN ISNULL(dbindexes.[type_desc], '') LIKE '%COLUMNSTORE'
16+
THEN 'ONLINE = OFF, '
17+
ELSE 'ONLINE = ON (WAIT_AT_LOW_PRIORITY (MAX_DURATION = 1 MINUTES, ABORT_AFTER_WAIT = SELF)), '
18+
END
19+
+ 'SORT_IN_TEMPDB = ON, MAXDOP = 4);' AS CmdRebuild
1420
FROM sys.dm_db_index_physical_stats (DB_ID(), NULL, NULL, NULL, NULL) AS indexstats
1521
INNER JOIN sys.tables dbtables on dbtables.[object_id] = indexstats.[object_id]
1622
INNER JOIN sys.schemas dbschemas on dbtables.[schema_id] = dbschemas.[schema_id]
@@ -23,6 +29,7 @@ GROUP BY dbschemas.[name],
2329
dbtables.[name],
2430
dbindexes.[index_id],
2531
dbindexes.[name],
32+
dbindexes.[type_desc],
2633
indexstats.partition_number,
2734
dbindexes.data_space_id
2835
ORDER BY AVG(indexstats.avg_fragmentation_in_percent) DESC

0 commit comments

Comments
 (0)