SQL2005性能分析一些细节功能你是否有用到?(二)
原文:SQL2005性能分析一些细节功能你是否有用到?(二)
上一篇: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
SQL2005性能分析一些细节功能你是否有用到?(二)的更多相关文章
- SQL2005性能分析一些细节功能你是否有用到?(三)
原文:SQL2005性能分析一些细节功能你是否有用到?(三) 继上篇: SQL2005性能分析一些细节功能你是否有用到?(二) 第一: SET STATISTICS PROFILE ON 当我们比较查 ...
- SQL2005性能分析一些细节功能你是否有用到?
原文:SQL2005性能分析一些细节功能你是否有用到? 我相信很多朋友对现在越来越大的数据量而感到苦恼,可是总要面对现实啊,包括本人在内的数据库菜鸟们在开发B/S程序时,往往只会关心自己的数据是否正确 ...
- 「功能笔记」性能分析工具gprof使用笔记
根据网上信息整理所成. 功能与优劣 gprof实际上只是一个用于读取profile结果文件的工具.gprof采用混合方法来收集程序的统计信息,它使用检测方法,在编译过程中在函数入口处插入计数器用于收集 ...
- 系统级性能分析工具perf的介绍与使用
测试环境:Ubuntu16.04(在VMWare虚拟机使用perf top存在无法显示问题) Kernel:3.13.0-32 系统级性能优化通常包括两个阶段:性能剖析(performance pro ...
- SQL查询性能分析
http://blog.csdn.net/dba_huangzj/article/details/8300784 SQL查询性能的好坏直接影响到整个数据库的价值,对此,必须郑重对待. SQL Serv ...
- PHP 性能分析第三篇: 性能调优实战
注意:本文是我们的 PHP 性能分析系列的第三篇,点此阅读 PHP 性能分析第一篇: XHProf & XHGui 介绍 ,或 PHP 性能分析第二篇: 深入研究 XHGui. 在本系列的 ...
- CLR Profiler 性能分析工具 (转)
原文地址:http://www.cnblogs.com/kevinlzf/archive/2010/11/12/1876066.html 下载地址:http://www.microsoft.com/e ...
- chrome使用Timeline做性能分析
使用Timeline做性能分析 Timeline面板记录和分析了web应用运行时的所有活动情况,这是研究和查找性能问题的最佳途径.###Timeline面板概览 Timeline面板主要有三个部分构成 ...
- 系统级性能分析工具perf的介绍与使用[转]
测试环境:Ubuntu16.04(在VMWare虚拟机使用perf top存在无法显示问题) Kernel:3.13.0-32 系统级性能优化通常包括两个阶段:性能剖析(performance pro ...
随机推荐
- flashfxp3.41中文版注册码:(适合最新版本)
推荐(尚未被封的 Realkey) FLASHFXPvACq2ssbvAAAAAC1W7cJKQTzmx77zmqJICvA7d3WnU tWNXdrp8YuERRFdIvXfOPbcpABkVix2 ...
- java提高篇(十三)-----字符串
可以证明,字符串操作是计算机程序设计中最常见的行为. 一.String 首先我们要明确,String并不是基本数据类型,而是一个对象,并且是不可变的对象.查看源码就会发现String类为f ...
- UBuntu经常使用的操作(网络资源)
http://docs.google.com/Doc? id=dqsbw4c_46d89djccr 版权声明:本文博主原创文章.博客,未经同意不得转载.
- IE8/IE9无法启用JavaScript怎么办
在IE8/IE9 中,有些同学在浏览网页时,收到提示:“需要启用 JavaScript …”,并且会发现网页上某些功能不能用了,比如点击网页里的按钮没反应等等.这个是因为浏览器的JavaScript ...
- 【转】Android内存机制分析2——分析APP内存使用情况
上面一篇文章说了Android应用运行在dalvik里面分配的堆和栈内存区别,以及程序中什么代码会在哪里运行.今天主要是讲解一下Android里面如何分析我们程序内存使用情况.以便后续可以分析我们程序 ...
- 【LeetCode】3Sum 解决报告
这个问题是我目前的知识回答,不来,只有良好的网上搜索解决方案,发现 K Sum 它是一类问题,但是,互联网是没有更简洁的代码,我想对于谁刚开始学习的人.您可能仍然想看看这个问题该怎么解决,然后看看他们 ...
- POJ--2391--Ombrophobic Bovines【分割点+Floyd+Dinic优化+二分法答案】最大网络流量
联系:http://poj.org/problem?id=2391 题意:有f个草场,每一个草场当前有一定数目的牛在吃草,下雨时它能够让一定数量的牛在这里避雨,f个草场间有m条路连接,每头牛通过一条路 ...
- R语言做文本挖掘 Part4文本分类
Part4文本分类 Part3文本聚类提到过.与聚类分类的简单差异. 那么,我们需要理清训练集的分类,有明白分类的文本:測试集,能够就用训练集来替代.预測集,就是未分类的文本.是分类方法最后的应用实现 ...
- Java单链逆转
本文介绍两种方法单向链表反转.记录,如下面: 1. package com.leetcode; public class ListReverse { public static void main(S ...
- Mesos-error
1,configure: error: cannot find libcurl 解决 yum install curl-devel 版权声明:本文博客原创文章,博客,未经同意,不得转载.