zoukankan      html  css  js  c++  java
  • SQL SERVER

    一、set statistics time on的作用

    显示分析、编译和执行各语句所需的毫秒数。

    二、语法

    SET STATISTICS TIME { ON | OFF }

    注释

    1、当 SET STATISTICS TIME 为 ON 时,显示语句的时间统计。一旦执行了上述命令,在整个会话期间,时间统计一直保持启用状态,直到执行 OFF 操作。

    2、为 OFF 时,不显示时间统计。

    2、SET STATISTICS TIME 的设置是在执行或运行时设置,而不是在分析时设置。

    三、set statistics time on实例

     
    SQL 代码   复制
     USE AdventureWorks;   
    GO          
    SET STATISTICS TIME ON   
    GO   
    SELECT *    
    FROM Production.ProductCostHistory   
    WHERE StandardCost < 500.00;   
    GO   
    SET STATISTICS TIME OFF;   
    GO
    

    输出结果

     
    SQL 代码   复制
      SQL Server 分析和编译时间: 
       CPU 时间 = 15 毫秒,占用时间 = 104 毫秒。
    SQL Server 分析和编译时间: 
       CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。
    
    (4 行受影响)
    
    SQL Server 执行时间:
       CPU 时间 = 171 毫秒,占用时间 = 1903 毫秒。
    SQL Server 分析和编译时间: 
       CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。
    

    四、set statistics time 的输出的意思

    1、CPU时间 

    这个值的含义指的是在这一步,SQLSERVER所花的纯CPU时间是多少。也就是说,语句花了多少CPU资源

    2、占用时间

    此值指这一步一共用了多少时间。也就是说,这是语句运行的时间长短,有些动作会发生I/O操作,产生了I/O等待,

    或者是遇到阻塞、产生了阻塞等待。总之时间用掉了,但是没有用CPU资源。所以占用时间比CPU时间长是很正常的 ,但是CPU时间是

    语句在所有CPU上的时间总和。如果语句使用了多颗CPU,而其他等待几乎没有,那么CPU时间大于占用时间也是正常的

    3、分析和编译时间:

    这一步,就是语句的编译时间。由于语句运行之前清空了所有执行计划,SQLSERVER必须要对他编译。

    这里的编译时间就不为0了。由于编译主要是CPU的运算,所以一般CPU时间和占用时间是差不多的。如果这里相差比较大,

    就有必要看看SQLSERVER在系统资源上有没有瓶颈了。

    这里他们是一个15毫秒,一个是104毫秒

    4、SQLSERVER执行时间:

    语句真正运行的时间。由于语句是第一次运行,SQLSERVER需要把数据从磁盘读到内存里,这里语句的

    运行发生了比较长的I/O等待。所以这里的CPU时间和占用时间差别就很大了,一个是171毫秒,而另一个是1903毫秒

    总的来讲,这条语句花了104+1903+186=2193毫秒,其中CPU时间为15+171=186毫秒。语句的主要时间应该是都花在了I/O等待上

  • 相关阅读:
    数字音频接口
    xargs命令详解,xargs与管道的区别
    RmNet,CDC-ECM ,NDIS,RNDIS区别
    Python并发编程之多进程(理论)
    网络编程
    type和object
    《流畅的python》读书笔记,第一章:python数据模型
    用 做出进度条
    如何使用特殊方法
    ValueError: too many values to unpack (expected 2)
  • 原文地址:https://www.cnblogs.com/password1/p/6000429.html
Copyright © 2011-2022 走看看