上一篇:SQL2005性能分析一些细节功能你是否有用到? 我简单的提到了些关于SQL性能分析最基本的一些方法,下面的文章我会陆续补充。前面提到了根据SQL的执行IO和执行计划来分析,还有一个特别重要的参数,就是SET STATISTICS TIME。

第一: SET STATISTICS TIME

定义:SET STATISTICS TIME (Transact-SQL)  显示分析、编译和执行各语句所需的毫秒数。

语法:SET STATISTICS TIME { ON | OFF }

备注:当 SET STATISTICS TIME 为 ON 时,会显示语句的时间统计信息。为 OFF 时,不显示时间统计信息。SET STATISTICS TIME 的设置是在执行或运行时设置,而不是在分析时设置。

权限 :若要使用 SET STATISTICS TIME,用户必须具有执行 Transact-SQL 语句的相应权限。但不需要 SHOWPLAN 权限。

作用:我们可以利用这个参数来查看SQL的CPU开销情况,进而做出优化方案。

效果图:

第二:sp_help

定义:报告有关数据库对象(sysobjects 表中列出的任何对象)、用户定义数据类型或 Microsoft® SQL Server™ 所提供的数据类型的信息。

语法 :sp_help [ [ @objname = ] name ]

          参数 :[@objname =] name 是 sysobjects 中的任意对象的名称,或者是在 systypes 表中任何用户定义数据类型的名称。不能使用数据库名称。

效果图:

内容:

1:表结构,它会列出目标表中所有的字段信息:名称,数据类型等。
                 2:索引情况,包含聚集索引和非聚集索引.索引所对应的字段等。
                 3:表字段的约束情况
                 4:表的基本信息,表类型,创建时间,表名等。

5:主键详细信息。

用途一:一般对于性能分析关系有直接关系的有1,2,5。开发员可以非常快捷清晰的查看表的设计情况.对于查询来说最重要的就是表的索引情况和表结构.对于其它的用途本人暂不胡说了。

案例:一次实际开发中,运行一个单表查询,发面页面报出SQL05 timeout的错误,后来在数据库中直接运行语句发现时间特别长,达到58m,查看记录,一个长达9位数的字样把我吓到了,没办法只能是优化了,sp_help下,发现条件中的字段没有创建索引, 创建后再试,基本控制在1m左右。

第三:SET NOCOUNT

定义:阻止在结果集中返回可显示受 Transact-SQL 语句或存储过程影响的行计数的消息。

语法:SET NOCOUNT { ON | OFF }

备注:当 SET NOCOUNT 为 ON 时,不返回计数。当 SET NOCOUNT 为 OFF 时,返回计数。即使当 SET NOCOUNT 为 ON 时,也更新 @@ROWCOUNT 函数。当 SET NOCOUNT 为 ON 时,将不向客户端发送存储过程中每个语句的 DONE_IN_PROC 消息。如果存储过程中包含一些并不返回许多实际数据的语句,网络通信流量便会大量减少,因此,将 SET NOCOUNT 设置为 ON 可显著提高性能。SET NOCOUNT 指定的设置是在执行或运行时生效,而不是在分析时生效。

权限:要求具有 public 角色的成员身份。

注意点:ExecuteNonQuery();将得不到返回值,此时可以利用存储过程的返回参数来获得.

缺点:当我们执行一条更新或者是删除语句时,一般判断是否成功都是根据这个返回的受影响的行来判断,现在当SET NOCOUNT 为 ON 时,不返回计数,只能利用输出参数来判断了.

优点:如果存储过程中包含一些并不返回许多实际数据的语句,网络通信流量便会大量减少,因此,将 SET NOCOUNT 设置为 ON 可显著提高性能。

总结:可能有的朋友会认为本人只是在这一味的copy MSDN,其实从本质上说是这样,但copy并不代表一无是处,经过我的工作经验来看,我们开发中遇到的很多问题其实在MSDN上都有说明,但为什么我们总是在MSDN上找不到答案呢?这就是因为我们不懂搜索相关的关键字,为此我将我的一些学习所得写出来,希望和我一样不太会用MSDN的朋友共进步.

注:本文引用MSDN

转载于:https://www.cnblogs.com/ASPNET2008/archive/2008/09/26/1298995.html

SQL2005性能分析一些细节功能你是否有用到?(二)相关推荐

  1. 教你3个python「性能分析」工具,再也不用自己计算函数耗时了

    文章目录 引言 1. cProfile:最便捷的性能分析 保存性能数据 查看性能数据 查看耗时最多的子函数 查看特定名称函数的耗时 2. timeit:计算小代码片段的耗时 3. IDE中的性能分析 ...

  2. 一、Golang性能分析工具

    准备工作 1.安装graphviz Go语言的内置工具可以借助graphviz软件将性能分析结果图形化. OS X和Ubuntu可以直接使用brew和apt-get install graphviz ...

  3. 计组之存储系统:5、cache(cache功能、cache工作原理、cache性能分析)

    5.cache 思维导图 为什么要cache? Cache的工作原理 局部性原理 性能分析(加入cache) 空间局部性中的"附近"怎么定义? 待解决的问题? 思维导图 为什么要c ...

  4. sql2005 安装完成后只有配置工具,没有管理工具和性能分析工具

    安装完成后只有配置工具,没有管理工具和性能分析工具等. (1)版本问题,Express 版本的安装包中是没有管理工具.需要额外下载.   Microsoft SQL Server Management ...

  5. Linux性能分析命令工具汇总

    转自:http://rdc.hundsun.com/portal/article/731.html?ref=myread 出于对Linux操作系统的兴趣,以及对底层知识的强烈欲望,因此整理了这篇文章. ...

  6. CLR Profiler 性能分析工具 (转)

    原文地址:http://www.cnblogs.com/kevinlzf/archive/2010/11/12/1876066.html 下载地址:http://www.microsoft.com/e ...

  7. 系统级性能分析工具perf的介绍与使用

    测试环境:Ubuntu16.04 + Kernel:4.4.0-31 apt-get install linux-source cd /usr/src/tools/perf make &&am ...

  8. 前端性能分析工具利器

    作者:basinwang,腾讯 PCG 前端开发工程师 大型项目容易遇到性能问题,一般来说,当我们遇到性能瓶颈的时候,才会开始去进行相应的分析.分析的方向除了业务本身的特点相关之外,常见的还可以借助一 ...

  9. Flutter 性能分析

    你将学到 Flutter 的目标是提供 60 帧每秒 (fps) 的性能,或者是在可以达到 120 Hz 的设备上提供 120 fps 的性能. 对于 60fps 来说,需要在约每 16ms 的时候渲 ...

最新文章

  1. PAT甲级(Advanced Level)真题--1046 Sharing
  2. python中关于list列表的增删查改操作
  3. python 抓取网页(一)
  4. vim之terminal之窗口大小命令
  5. 库壳的一些有趣面试题
  6. IOS开发基础之使用AFNetworking框架实现文件上传get和post请求
  7. 【潜龙勿用】中国制造业数字化转型大潮下的冷思考
  8. [优先队列] 洛谷 P1631 序列合并
  9. AIX操作系统基本命令
  10. 彻底与高通谈崩?苹果被爆计划自研5G调制解调器
  11. Netty优雅退出机制和原理
  12. linux文件系统,启动流程
  13. 计算机的云是什么意思_云计算是什么意思?为什么叫云计算?
  14. 设计模式——备份模式
  15. python多进程传递参数_Python进程,多进程,获取进程id,给子进程传递参数操作示例...
  16. 基于spring+spring mvc+mybatis 开发 JavaWeb 医院人事管理系统(Maven项目)
  17. 惠普HP DeskJet Ink Advantage 2777 驱动
  18. Web简易时间轴制作(超详细)
  19. HAUTOJ 1265
  20. Flask - bootstrap模板使用 和 模板继承

热门文章

  1. php中global什么意思,php中global和$GLOBALS[]的用法、解释、区别
  2. python将argv作为参数,Python当中的命令行参数sys.argv[]的使用方法
  3. python f string_Python|f-string让我喜欢Python的原因之一
  4. ceph搭建_如何一键搭建并管理Filecoin集群节点 | Gamma OS新功能上线
  5. MyBatis-Plus分页查询——Page
  6. 吴恩达深度学习1.2笔记_Neural Networks and Deep Learning_神经网络基础
  7. ECMAScript 6中的Set和Map数据结构
  8. php7 安装memcached、memcache
  9. 数据库操作:MFC连接与MYSQL
  10. 阿里云 wdcp面板后台控制安装