Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- USE AdventureWorks
- GO
- DECLARE @db_id SMALLINT;
- DECLARE @object_id INT;
- SET @db_id = DB_ID();
- SET @object_id = NULL;
- --SET @object_id = OBJECT_ID(N'Sales.SalesOrderDetail');
- IF @db_id IS NULL
- BEGIN;
- PRINT N'Invalid database';
- END;
- BEGIN;
- SELECT
- table_name,Count(index_name) as table_index_count
- ,AVG(avg_fragmentation_in_percent) as avg_fragmentation_in_percent
- ,AVG(rows)as row_count
- FROM (SELECT TOP 100 PERCENT
- sys.sysobjects.name AS table_name
- , sys.sysindexes.name AS index_name
- , sys.sysindexes.rows
- , object_id
- ,avg_fragmentation_in_percent, fragment_count
- , avg_fragment_size_in_pages, page_count
- , avg_page_space_used_in_percent, record_count
- FROM master.sys.dm_db_index_physical_stats(@db_id, @object_id, NULL, NULL, 'LIMITED') AS dm_db_index_physical_stats_1
- INNER JOIN sys.sysindexes ON object_id = sys.sysindexes.id
- INNER JOIN sys.sysobjects ON sys.sysindexes.id = sys.sysobjects.id
- ) AS sys_data
- GROUP BY table_name
- ORDER BY
- --table_name,
- row_count desc,
- AVG(avg_fragmentation_in_percent) DESC
- END;
- GO
Advertisement
Add Comment
Please, Sign In to add comment