SQL Server 查询分析工具

查看执行时间和CPU占用时间:

SET STATISTICS Time On
--查询语句
SET STATISTICS Time Off

在这里插入图片描述
显而易见,时间越少,性能越好。


查看查询对I/0的操作情况:

SET STATISTICS IO ON     
--查询语句
SET STATISTICS IO Off

在这里插入图片描述
下面对这些参数解释下:
    逻辑读取: 从缓存中读取数据,逻辑读表示者实际的查找数据,当逻辑读减少时,其效率就越高,查询的速度就越快。

    物理读取: 查询计划开启后,如果发现缓存缺少查询所需要的数据,让缓存再次去读硬盘数据,这就是物理读取,硬盘读取速度会差内存读取速度几个数量级,物理读取是比较慢的。

     对于物理读取的比较看下具体数据:
        A: 先清除缓存查询,这个时候缓存中没有数据,会从硬盘读数据,产生物理查询。

--清除缓存
DBCC DROPCLEANBUFFERS  
--开启IO统计
SET STATISTICS IO ON     
--开启执行时间和CPU占用时间查询
SET STATISTICS Time ON
	SELECT * From ScoreTemp
SET STATISTICS Time Off
SET STATISTICS IO Off

在这里插入图片描述
        B: 不清除缓存,直接查询,表数据无变化,会从上次A查询的缓存中查询数据,不会产生物理查询。相对A物理查询时间会得到优化。
在这里插入图片描述
    预读: 用于估计信息,估算从硬盘读取数据到缓存的大小。


      上面两种方法都是写SQL脚本执行查看的,如果忘了脚本怎么办?在SQL Server查询中可以单独打开这两个方法去执行统计,见下:
在这里插入图片描述
在这里插入图片描述
      设置好后,直接在当前查询窗口查询数据后,统计信息会自动统计。

猜你喜欢

转载自blog.csdn.net/qq_36330228/article/details/105875963