Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 170ce89

Browse files
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)

AltStyle によって変換されたページ (->オリジナル) /