如何找出SQL Server表的读/写统计信息?

dan*_*die 15 t-sql sql-server statistics fillfactor

有没有办法在SQL Server 2005/2008上查找有关表读取和写入计数的统计信息?

我特意寻找的DMVs/DMFs不使用触发器或审核.

这里的目标是找出适当的索引填充因子 - 从本文中获得一个想法(填充因子定义).


[更新] ServerFault上有一个跟进问题
如何从DMV/DMF统计数据确定读/写密集表

Tec*_*oze 21

以下查询可用于查找数据库中所有表的读取和写入次数.此查询结果可以导出为CSV文件,然后使用excel公式可以轻松计算读/写比率.在规划表上的索引时非常有用

DECLARE @dbid int
SELECT @dbid = db_id('database_name')

SELECT TableName = object_name(s.object_id),
       Reads = SUM(user_seeks + user_scans + user_lookups), Writes =  SUM(user_updates)
FROM sys.dm_db_index_usage_stats AS s
INNER JOIN sys.indexes AS i
ON s.object_id = i.object_id
AND i.index_id = s.index_id
WHERE objectproperty(s.object_id,'IsUserTable') = 1
AND s.database_id = @dbid
GROUP BY object_name(s.object_id)
ORDER BY writes DESC
Run Code Online (Sandbox Code Playgroud)


Rem*_*anu 11

记住'table'表示聚集索引或'堆'.