1
0
mirror of https://github.com/alex-bochkov/ssms-addin.git synced 2026-06-15 16:57:06 +02:00

Update column-store-indexes.sql

This commit is contained in:
Alex Bochkov
2023-12-07 09:43:51 -07:00
committed by GitHub
parent 0d6646af7d
commit 099d0e98e5
@@ -20,14 +20,17 @@ WHERE object_id = object_id('TableName')
ORDER BY row_group_id;
-- get some stats around CIX - helps to see which partitions need to be rebuilt
SELECT object_name(object_id)
,partition_number
,FORMAT(sum(row_group_id), 'N0') AS row_group_count
,FORMAT(sum(total_rows), 'N0') AS row_count
,FORMAT(sum(size_in_bytes), 'N0') AS size_in_bytes
,FORMAT(sum(size_in_bytes) / sum(total_rows), 'N0') AS size_per_row
FROM sys.dm_db_column_store_row_group_physical_stats
WHERE object_name(object_id) LIKE ' table name %'
GROUP BY object_name(object_id)
,partition_number
ORDER BY partition_number;
SELECT OBJECT_SCHEMA_NAME(ps.[object_id]) AS schemaName,
OBJECT_NAME(ps.[object_id]) AS tableName,
ps.partition_number,
FORMAT(SUM(ps.row_group_id), 'N0') AS row_group_count,
FORMAT(SUM(ps.total_rows), 'N0') AS row_count,
FORMAT(SUM(ps.deleted_rows), 'N0') AS deleted_rows,
FORMAT(SUM(ps.size_in_bytes), 'N0') AS size_in_bytes,
FORMAT(SUM(ps.size_in_bytes) / sum(total_rows), 'N0') AS size_per_row,
CONCAT('ALTER INDEX [', i.[name], '] ON ', OBJECT_SCHEMA_NAME(ps.[object_id]), '.', OBJECT_NAME(ps.[object_id]), ' REBUILD PARTITION = ', ps.partition_number, ' WITH (DATA_COMPRESSION = COLUMNSTORE, ONLINE = ON, SORT_IN_TEMPDB = ON, /* MAXDOP = 8 */);
GO') AS rebuiltCommand
FROM sys.dm_db_column_store_row_group_physical_stats AS ps
INNER JOIN sys.indexes AS i ON ps.[object_id] = i.[object_id] AND ps.index_id = i.index_id
GROUP BY ps.[object_id], ps.partition_number, i.[name]
ORDER BY ps.partition_number;