如何进行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语句

 

posted @ 2009-11-02 21:58  风影极光  阅读(2413)  评论(0编辑  收藏  举报