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