zoukankan      html  css  js  c++  java
  • 查看sql语句执行时间/测试sql语句性能

    查看sql语句执行时间/测试sql语句性能

    写程序的人,往往需要分析所写的SQL语句是否已经优化过了,服务器的响应时间有多快,这个时候就需要用到SQL的STATISTICS状态值来查看了。

        通过设置STATISTICS我们可以查看执行SQL时的系统情况。选项有PROFILE,IO ,TIME。介绍如下:

    SET STATISTICS PROFILE ON:显示分析、编译和执行查询所需的时间(以毫秒为单位)。
    SET STATISTICS IO ON:报告与语句内引用的每个表的扫描数、逻辑读取数(在高速缓存中访问的页数)和物理读取数(访问磁盘的次数)有关的信息。
    SET STATISTICS TIME ON:显示每个查询执行后的结果集,代表查询执行的配置文件。

         使用方法:打开SQL SERVER 查询分析器,输入以下语句:

    SET STATISTICS PROFILE ON
    SET STATISTICS IO ON
    SET STATISTICS TIME ON
    GO /*--你的SQL脚本开始*/
    SELECT [TestCase] FROM [TestCaseSelect]
    GO /*--你的SQL脚本结束*/
    SET STATISTICS PROFILE OFF
    SET STATISTICS IO OFF
    SET STATISTICS TIME OFF

    效果如图所示:

     

     

     

    另外,也可以通过手工添加语句,计算执行时间来查看执行语句花费了的时间,以判断该条SQL语句的效率如何:

    declare @d datetime
    set @d=getdate()
    /*你的SQL脚本开始*/
    SELECT [TestCase] FROM [TestCaseSelect]
    /*你的SQL脚本结束*/
    select [语句执行花费时间(毫秒)]=datediff(ms,@d,getdate())

    第三:

        可以直接设置:

            查询-查询选项-高级里,有个SET STATISTICS TIME勾上,然后执行SQL,看消息,就有执行时间了

    在SQL SERVER上建立的索引:

    Create (NONCLUSTERED ) index ind_emp on emp(empno); 默认的就是建立非聚集索引。

    exec sp_helpindex emp; 用于查看建立的索引,查询会自己使用可以用到的索引。

    Create index ind_emp1 on emp(empno,ename); 可以在多个列上建立复合索引。

    唯一非聚集索引:

    Create unique index ind_sal on emp(sal);

    重新生成索引:

    Alter index ind_sal on emp rebuild;

    Drop index ind_emp on emp; 删除索引。

    Create CLUSTERED  index ind_emp on emp(empno); 建立聚集索引。

    Create index ind_emp on emp(empno,ename);

    注:相同列上可以多次索引。

    唯一聚集索引:

    Create unique clustered index ind_sal on f_emp(sal);

  • 相关阅读:
    遥控按键上报键值映射问题
    AutoLock类
    Mutex互斥锁
    c++ 字符串和数字转换时的特殊处理
    pytorch实现MLP并在MNIST数据集上验证
    python实现直方图均衡化,理想高通滤波与高斯低通滤波
    python实现贝叶斯网络的概率推导(Probabilistic Inference)
    python+opencv实现车牌定位
    python添加高斯噪声和椒盐噪声,实现中值滤波和均值滤波,实现Roberts算子和Sobel算子
    c++学习笔记_6
  • 原文地址:https://www.cnblogs.com/wangyhua/p/4050617.html
Copyright © 2011-2022 走看看