dre*_*tak 4 sql-server sql-server-2012 scan
我想查看有关表被完全扫描多少次的信息。我希望有类似sys.dm_db_index_usage_stats
但表扫描的东西。博客keepitssimleandfast 中描述了一种方法,但我宁愿自服务器启动以来进行所有扫描。
我正在寻找的东西也类似于pg_stat_all_tables.seq_scan
PostgreSQL。
好吧,那张桌子会给你你正在寻找的答案。只需加入 sys.indexes 即可确定索引的类型。表要么堆或聚簇索引,所以在该索引类型的扫描是在桌子上的扫描。请参见下面的示例,添加您要查找的任何其他列。
SELECT S.name AS SchemaName
, O.name AS ObjectName
, I.name AS IndexName
, I.type AS IndexType
, I.type_desc AS IndexType_Desc
, IUS.user_scans
FROM sys.objects AS O
INNER JOIN sys.schemas AS S ON S.schema_id = O.schema_id
INNER JOIN sys.indexes AS I ON I.object_id = O.object_id
INNER JOIN sys.dm_db_index_usage_stats AS IUS ON IUS.object_id = I.object_id AND IUS.index_id = I.index_id
WHERE I.type IN (0,1) -- 0=HEAP, 1=CLUSTERED (table)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1073 次 |
最近记录: |