我已经按日期列将我的表分区为10个分区,并希望查看每个分区如何使用(I/O统计信息等)。我希望这将使您可以深入了解现有查询如何使用各个分区(如果有的话),以便我可以优化查询。是否有一种方法可以在分区级别确定I/O统计信息?
几种方法:
- 可以通过:sys.dm_io_virtual_file_stats
但是,只有在每个分区都驻留在自己的filegroup
的情况下,它才能起作用。- 另一种方法是sys.dm_db_index_operational_stats
此DMV可以提供每个对象/索引/分区的数据结构使用统计信息:
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 }
)