如何在分区级别查看分区 table 的 I/O 统计信息

How can I view I/O stats of a partitioned table at the partition level

我已按日期列将 table 划分为 10 个分区,并想了解每个分区的使用情况(I/O 统计信息等)。我希望这可以深入了解现有查询如何使用各个分区(如果有的话),以便我可以优化查询。有没有办法确定分区级别的 I/O 统计信息?

几种方法:

  1. 可以通过:sys.dm_io_virtual_file_stats

但只有当每个分区都驻留在自己的文件组中时它才会起作用

  1. 另一种方式是sys.dm_db_index_operational_stats

此 DMV 可以提供每个 object/index/partition:

的数据结构使用统计信息
sys.dm_db_index_operational_stats (    
    { database_id | NULL | 0 | DEFAULT }    
  , { object_id | NULL | 0 | DEFAULT }    
  , { index_id | 0 | NULL | -1 | DEFAULT }    
  , { partition_number | NULL | 0 | DEFAULT }    
)