数据库管理员制胜法宝--Coefficient
2007-05-19 09:45:52 来源:WEB开发网SQL语句是否执行和SQL Prepare/Execute模型。运用这些模型常常可以加快重复执行SQL代码的速度。
执行计划重复使用的频率。
存储过程再编译的频率。
存储程序和SQL语句的调用情况。包括持续时间、读和写的次数,等等。
SQL Server超时次数。
一个Coefficient实例
假设要分析数据库中的存储过程的性能,并确定存储过程的最大共同点。当调整一个数据库时,最好的解决办法之一就是确定哪个存储过程运行最频繁,而后对这些存储过程进行优化。即使只使一个存储过程减少了三分之一的运行时间,如果一天需要运行10,000次这个存储过程,那也是一个可喜的成绩。
首先建立一个Trace,选择SPSQL模板进行分析。SPSQL模板可以提供很多数据,但是我们仅仅对哪个存储过程运行最频繁感兴趣,所以只需选择Stored Procedure Call Frequency report(SPSQL模板的一个部分)。
依照上述步骤进行即可生成监控报告,报告里既有表格也有图例,在表格里以存储过程运行的频率大小排序,图例就显示在表的上面(如图3)。
图3 选择模板和分析项目
从图中,很容易就能得知哪个存储过程运行频繁。在这个例子中,存储过程名字是pcGet_SJZH_NJ,在Trace周期内被调用682次。从表格中还能得到更多关于存储过程的信息,例如平均持续时间(毫秒)、平均数量、读写次数和CPU平均占用率等等。
Coefficient的另一个特色是可以提供更多的详细信息。例如,假定我们想要了解pcGet_SJZH_NJ过程的详细信息,就可以点击名字打开另一个页面查看更多具体数据,在接下来的页面上能看到常规统计信息、持续时间统计、读取统计、记录统计、CPU统计、存储过程引用和存储过程的源代码(如图4)。另外,还可以点击“Execution plan”查看存储过程的执行计划。需要强调的是,提供的信息很详细,不仅可以查看到发送给存储过程的数据,也可以看到存储过程的参数,以及执行计划(Execution plan)。
图4 分析报告
嵌入报告中的帮助信息
Coefficient产生的数据比较多,用户可能会担心弄不清这些数据到底表示什么,怎样才能利用它们进行数据库性能调整。其实担心大可不必,在每篇分析报告的下面都有大篇幅的关于数据含义的总体说明。这些说明并不涉及产生的具体数据,但有很多关于数据库性能优化的基础知识。从某种意义上说,Coefficient本身就是一本SQL Server数据库优化手册。
Coefficient的适用人群
Coefficient对SQL Server程序员和数据库管理员都很有用。程序员可以把它用在基于SQL Server的应用软件的开发过程和测试过程中,而数据库管理员会觉得有益于调整已开发出来的应用软件,因为数据库随时间不断变化,数据库管理员们能使用Coefficient即时查看数据库内部的运行情况。最常用的是用Coefficient定义数据库各个性能方面的基准,然后比较不同周期的分析结果,借以了解数据库的运行情况。
更多精彩
赞助商链接