http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 30935|回复: 10

[Sql系列教程] Sql2005性能工具(SQL Server Profiler和数据库引擎优化顾问)使用方法详解

[复制链接]
发表于 2012-10-7 20:09:34 | 显示全部楼层 |阅读模式
导读部分
-------------------------------------------------------------------------------------------------------------
SQL Server 2005 学习笔记系列文章
http://www.sufeinet.com/thread-26-1-1.html


简介

          说到Sql的【性能工具】真是强大,可以让一个像我这样的菜鸟都能找到高手的感觉,SQL Server Profiler的中文意思是SQL Server事件探查,这个到低是做什么用的呢?我们都知道探查的意思大多是和监视有关,其实这个SQL Server Profiler就是一个Sql的监视工具,可以具体到每一行Sql语句,每一次操作,和每一次的连接。感觉这个工具的作用还是很大的,给大家分享一下,对于新手了解Sql语句的写法和提高语句的性能方法有很大的帮助。

    SQL Server Profiler使用方法


     我们单击开始--程序--Microsoft SQL Server 2005--性能工具--SQL Server Profiler
   如下图
sqlxingneng.jpg
然后会出现如下界面
sqlxingneng1.jpg
我们单击文件---【新建跟踪(N)...】,这是一个多窗口多任何的工具,我们可以同时新建不同的跟踪窗口,也可以是不同的数据库
接着看
sqlxingneng2.jpg
在这里我们输入 我们的跟踪的数据库的服务器名称,用户名和密码等信息。单击连接进入下一个界面
sqlxingneng3.jpg    sqlxingneng4.jpg
上图中左面的可以进行一个基本设置,使用的模板选择,和文件的保存选择等。我们一般使用默认的就OK了,不用动上面的东西,右面的图是事件选择,也就是说我们要跟踪的事件有那个,在这里可以一一的选择,基本上Sql上有的事件都有,包括你用SQL Server Management Studio操作数据库的过程都可以跟踪的到。具体的事件和说明大家可以自己看一下。
只要单击显示所有事件就可以进行全部事件的选择了。
   我们还可以对统计的字段进行筛选,单击任意一个列标题可以查看列的说明如下图
sqlxingneng5.jpg
我们从上图上依次说明 为:
      TextDate            依赖于跟踪中捕获的事件类的文本值;
      ApplicationName  创建 SQL Server 连接的客户端应用程序的名称。此列由该应用程序传递的值填充,而不是由所显示的程序名填充的;
      NTusername        Windows 用户名。
      LoginName           用户的登录名(SQL Server 安全登录或 Windows 登录凭据,格式为“域\用户名”)
      CPU                    事件使用的 CPU 时间(毫秒)。
      Reads                 由服务器代表事件读取逻辑磁盘的次数。
      Writes                由服务器代表事件写入物理磁盘的次数。
      Duration             事件占用的时间。尽管服务器以微秒计算持续时间,SQL Server Profiler 却能够以毫秒为单位显示该值,具体情况取决于“工具”>“选项”对话框中的设置
      ClientProcessID   调用 SQL Server 的应用程序的进程 ID。
      SPID                  SQL Server 为客户端的相关进程分配的服务器进程 ID。
      StratTime           事件(如果可用)的启动时间。
      EndTime             事件结束的时间。对指示事件开始的事件类(例如 SQL:BatchStarting 或 SP:Starting)将不填充此列。
      BinaryData          依赖于跟踪中捕获的事件类的二进制值。

      然后我们单击运行就可以,当然如果有兴趣的话你也可以对列进行重新排列和筛选,只要单击下面相应的按钮根据提示操作就要可以了,我们这里就安默认的进行
sqlxingneng7.jpg

通过上面的图我们就可以清楚的跟踪到每一步操作是过程了,
现在如果大家对那版的Sql语句的写法不怎么懂的话就可以参考上面的,而且 是时时的,你在Sql里操作几下这里就会出现相应的Sql语句,也是一个学习和提高的好工具
不仅仅是这样,我们还可以对其中的数据进行分析,查询,跟踪可以暂停,开始和停止操作,可以同时启动多个跟踪,同时跟踪不同的数据库和表
如果和Sql的数据库引擎优化顾问配合使用的话就更好了,可以分析出来你的Sql语句性能如果,而且还会告诉你怎么修改会更好,我们一起来看一下吧

     数据库引擎优化顾问使用方法



    有了这个跟踪的记录我们怎么样使用数据库引擎优化顾问对其进行分析优化呢?当然第一步我们要先把跟踪到的记录导出到文件.trc类型的文件。单击文件--另存为
sqlxingneng8.jpg
   假如我们把文件保存为123.trc
     现在我们来打开数据库引擎优化顾问  我们单击开始--程序--Microsoft SQL Server 2005--性能工具--数据库引擎优化顾问
如下图
sqlxingneng9.jpg
和上面一样我们要先输入数据库的登录信息
单击连接进入如下界面
sqlxingneng10.jpg   
      sqlxingneng11.jpg       
我们可以看一下界面,一般不用选择只要安默认的就OK了,需要配置的我上面都有注释。在这里大家一定要记得选择用于工作负荷的数据库和表,意思就是设置要分析的数据库否则会分析不成功。
现在就可以单击开始了
sqlxingneng12.jpg
在这里我们可以看到分析成功后的分析报告,这还不算,我们单击上面的
建议选项卡
sqlxingneng13.jpg
在这里还给出了你的那些表,需要优化,应该怎么建立索引和视图才能更有效的提高性能,更好玩的是连需要优化的Sql语句都给生成好了,
我们直接复制执行就要可以了。

    总结


     其实像这样的小工具小东东还有很多,很多,一句话,活到老学到老,不管你技术再牛,也不要忘记学习。特别是做技术这行的,每天都会有新的技术和算法,工具的出现,你不学别人学了就意味着你落后了。
      最后祝大家工作顺利,技术更牛!!!


本帖被以下淘专辑推荐:



1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2013-7-17 16:47:26 | 显示全部楼层
{:soso_e121:}{:soso_e135:}{:soso_e152:}{:soso_e167:}{:soso_e179:}
发表于 2013-8-9 11:41:26 | 显示全部楼层
k可以分离出来这个东西吗
 楼主| 发表于 2013-8-9 17:35:20 | 显示全部楼层
coody 发表于 2013-8-9 11:41
k可以分离出来这个东西吗

你想怎么分离
发表于 2013-8-19 15:49:33 | 显示全部楼层

就只要这个工具试试{:soso_e113:}
发表于 2014-8-5 22:04:55 | 显示全部楼层
表示不懂,不过还是要支持楼主
发表于 2016-9-21 10:21:40 | 显示全部楼层
真是难得给力的帖子啊。
发表于 2018-12-11 21:20:04 来自移动端 | 显示全部楼层
真是难得给力的帖子
发表于 2018-12-30 22:32:35 | 显示全部楼层
真是难得给力的帖子啊。
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-3-29 18:05

© 2014-2021

快速回复 返回顶部 返回列表