上一篇讲了查看估计的执行计划,这一篇要讲如何查看实际的执行计划,以及在分析和编译、执行sql时,花了多久时间。
另外,我们还能知道一个sql中,引用到的各个表的扫描次数、逻辑读次数、物理读次数,这些对于sql优化是非常重要的。
1、显示实际执行计划、运行时cpu、io的开销
--显示实际的执行计划及统计信息、各种操作
SET STATISTICS PROFILE ON
--显示xml格式的实际执行计划及统计信息
SET STATISTICS XML ON
--显示分析、编译、执行批处理中所有语句所花费的时间,单位是毫秒
SET STATISTICS TIME ON
--显示执行语句产生的磁盘活动统计信息,也就是IO信息
SET STATISTICS IO ON
2、运行sql
select * from sys.objects
下图红色框中为实际的执行计划:
下图显示了 分析和编译时间、IO开销、执行时间:
3、关闭执行计划和统计信息
SET STATISTICS PROFILE OFF
SET STATISTICS XML OFF
SET STATISTICS TIME OFF
SET STATISTICS IO OFF