zoukankan      html  css  js  c++  java
  • 如何进行SQL性能优化?-借助Profile

    安装完SQL Server 2008后,我们可以看到性能工具:数据库性能引擎顾问和SQL Server Profiler。这个工具在MS SQL 2000和MS SQL 2005中同样适用。

     

    SQL Profiler是SQL Trace的一种图形化用户界面工具,SQL Trace工具允许您监视SQL Server Database Engine或Analysis Services实例。使用SQL Profiler,您可以交互式地捕获数据库活动,并可以选择将有关数据库事件的数据保存到一个文件或表中。以后可以重放和分析这些保存的数据。

    使用SQL Profiler的一些典型原因:
    ●     监视Database Engine或Analysis Server实例的性能。
    ●     分析和简化缓慢执行查询的性能。
    ●     通过保存Showplan结果执行查询分析。
    ●     确定死锁的原因
    ●     调试TSQL语句和存储过程。
    ●     通过重放跟踪执行强调和基准测试。
    ●     重放一个或多个用户的跟踪。
    ●     审查和回顾SQL Server实例上发生的活动。
    ●     聚集跟踪结果,从而组合并分析类似的事件类。

    启动SQL Profiler

    一种是从Start | All Programs | Microsoft SQL Server 2005 | Performance Tools | SQL Server Profiler菜单选项中启动。

    另一种是从SQL Server Management Studio菜单中选择Tools | SQL Server Profiler选项来启动。您也可以从Database Engine Tuning Advisor的Tools | SQL Server Profiler菜单选项中启动SQL Profiler。

    跟踪属性对话框有两个选项卡:General和Events Selection。General选项卡。根据实际情况,我们指定模板,以及与跟踪属性中设置的跟踪模板相关的列。

    预定义的模板:

    模 板 名 称 模板的作用和事件类
    Standard(默认) 捕获正在运行的存储过程和TSQL批处理。
    用途:监视普通的数据库服务器活动。
    类:Audit Login、Audit Logout、ExistingConnection、RPC:Completed、SQL:BatchCompleted、SQL:BatchStarting
    SP_Counts 根据时间捕获存储过程的执行行为。
    类:SP:Starting
    TSQL 捕获客户机提交给SQL Server的TSQL语句和使用的时间。
    用途:调试客户机应用程序。
    类:Audit Login、Audit Logout、ExistingConnection、RPC:Starting、
    SQL:BatchStarting
    TSQL_Duration 捕获客户机提交给SQL Server的TSQL语句和执行时间(以毫秒为单位)。根据周期进行分组。
    用途:确定慢查询。
    类:RPC:Completed、SQL:BatchCompleted
    TSQL_Grouped 捕获客户机提交给SQL Server的TSQL语句和使用的时间,根据提交该语句的用户或客户机进行分组。
    用途:从特定的客户机或用户中调查查询。
    类:Audit Login、Audit Logout、ExistingConnection、RPC:Starting、
    SQL:BatchStarting
    TSQL_Replay 如果要重放跟踪,则捕获所需的TSQL语句的信息。
    用途:性能微调、基准测试。
    类:CursorClose、CursorExecute、CursorOpen、CursorPrepare、
    CursorUnprepare、Audit Login、Audit Logout、ExistingConnection、
    RPC Output Parameter、RPC:Completed、RPC:Starting、Exec Prepared SQL、
    Prepare SQL、SQL:BatchCompleted、SQL:BatchStarting
    TSQL_SPs 捕获有关执行存储过程的信息。
    用途:分析存储过程的组件步骤。
    类:Audit Login、Audit Logout、ExistingConnection、RPC:Starting、
    SP:Completed、SP:Starting、SP:StmtStaring、SQL:BatchStarting
    Tuning 捕获有关存储过程和TSQL批处理执行的信息。
    用途:产生Database Engine Tuning Advisor的跟踪输出,用于调整数据库。
    类:RPC:Completed、SP:StmtCompleted、SQL:BatchCompleted

     

    跟踪活动

     启动profile后,我们对监控的数据库对象做任何的动作都可以在profile中查看性能记录。

    SQL Profiler允许您在跟踪中搜集和显示查询计划信息。您可以向跟踪中添加Showplan事件类,甚至将这些Showplan事件保存到XML文件中。

    应用场景:

    执行应用程序页面上的某个按钮,我们想查看对应执行的SQL语句

  • 相关阅读:
    北风设计模式课程---13、享元模式
    北风设计模式课程---观察者模式2
    北风设计模式课程---观察者模式
    北风设计模式课程---12、观察者模式
    Linux下yum订购具体解释
    不黑诺基亚,他们觉得萌萌达
    System.Threading.ThreadStateException
    SRS微信号和QQ组
    hibernate它 10.many2many单向
    UML 简单的总结
  • 原文地址:https://www.cnblogs.com/mingle/p/1594826.html
Copyright © 2011-2022 走看看