问题描述
有没有办法在 T-SQL 中捕获 STATISTICS IO 和 TIME 以登录到表中?
Is there a way to capture STATISTICS IO and TIME within T-SQL, for logging into a table?
推荐答案
排序.
查询统计 DMV 捕获与 SET STATISTICS TIME 给出的统计相同的统计:sys.dm_exec_query_stats.
The same statistics as those given by SET STATISTICS TIME are captured by the Query Statistics DMV: sys.dm_exec_query_stats.
DMV 可以从 T-SQL 中查询,就像普通视图一样.
DMVs can be queried from T-SQL, just like normal views.
然而,SET STATISTICS IO 仅作为每次执行的聚合值 (last_logical_reads, last_physical_read) 捕获,没有 SET STATISTICS IO 给出的每个行集的差异化.
However, the SET STATISTICS IO are only captured as aggregate values (last_logical_reads, last_physical_read) per execution, without the differentiation per-rowset given by SET STATISTICS IO.
总体而言,DMV 的作用与 SET STATISTICS IO 相同.
Overall though, the DMVs can serve the same purpose as SET STATISTICS IO.