SELECT databases.name ,
objects.name ,
indexes.name ,
读写比例 = CAST(( range_scan_count + singleton_lookup_count ) AS DECIMAL(18,
2))
/ CASE WHEN CAST(( leaf_insert_count + leaf_update_count
+ leaf_delete_count + nonleaf_insert_count
+ nonleaf_update_count + nonleaf_delete_count ) AS DECIMAL(18,
2)) = 0 THEN 1
ELSE CAST(( leaf_insert_count + leaf_update_count
+ leaf_delete_count + nonleaf_insert_count
+ nonleaf_update_count + nonleaf_delete_count ) AS DECIMAL(18,
2))
END ,
reads = range_scan_count + singleton_lookup_count ,
writes = leaf_insert_count + leaf_update_count + leaf_delete_count
+ nonleaf_insert_count + nonleaf_update_count + nonleaf_delete_count ,
leaf_insert_count ,
leaf_update_count ,
leaf_delete_count ,
nonleaf_insert_count ,
nonleaf_update_count ,
nonleaf_delete_count ,
range_scan_count ,
singleton_lookup_count ,
row_count ,
page_lock_count ,
partition_stats.row_count ,
stats.*
FROM sys.dm_db_index_operational_stats(7, NULL, NULL, NULL) stats
LEFT JOIN sys.objects objects ON stats.object_id = objects.object_id
LEFT JOIN sys.databases databases ON databases.database_id = stats.database_id
LEFT JOIN sys.indexes indexes ON indexes.index_id = stats.index_id
AND stats.object_id = indexes.object_id
LEFT JOIN sys.dm_db_partition_stats partition_stats ON stats.object_id = partition_stats.object_id
AND indexes.index_id = partition_stats.index_id
WHERE objects.name NOT LIKE 'sys%'
ORDER BY row_count DESC