·
电信镜像
·
网通镜像
首页
站长在线
网站运作
业界新闻
联盟资讯
站外休闲
热门专题
站长学院
站长工具
论坛
学院首页
网页制作
网络编程
图形图象
多媒体类
数据库类
服务器类
操作系统
ACCESS
MSSQL
Mysql
Oracle
√
Google adsense申请技巧
√
本站核心代理域名注册主机业务
√
快速发布你的买卖域名买卖网站信息
√
1元注册 cn域名
√
站长每日新闻导读
√ ·
推荐万网空间¥120元 150m
√
站长网:站长必上的网站
√
网站联盟大全
√
本站代理万网域名55空间120元
热门关键字 :
新手
div
Flash
安全
搜索
比较
查询
智能
标题
2006-12-10 21:44:46
数据库管理员制胜之宝
来源: 字体:[
大
中
小
]
数据库的调整和优化可能是一个数据库管理员的最主要也是最关键的任务之一。
遗憾的是,对像SQL Server这样的数据库进行调整和性能调节并不是一件容易的事。SQL Server带有几种监控和调试工具,功能强大,但精通掌握十分困难。
图1 Coefficient类似Profiler
然而,现在有了Coefficient。它是Intrinsic Design公司发布的新产品,对初学者和有经验的数据库管理员都适用。Coefficient可以帮助加强SQL Server的性能调节,提高操作员监控SQL Server内部工作的能力。最有用处的是,它能把监控数据以几乎所有的数据库管理员都可以理解的格式呈列出来。
Coefficient并不是Performance Monitor, Query Analyzer或者Profiler的完全替换品。Coefficient更像加强的SQL Server Profiler。它的工作方式十分类似于Profiler,但比Profiler更为容易使用和理解。(如图1)
Coefficient运行过程
Coefficient可以安装在SQL Server服务器上,也可以安装在任何通过网络联结在SQL Servers上的计算机上。安装十分简单,安装完毕就可立即进行监控工作了。一般来说,按下列步骤进行:
首先在主页面上增加一个SQL Server,就像使用Enterprise Manager注册一个SQL Server一样。
在列表上选择一个想要分析的数据库,然后建立一个跟踪,即通常所说的Trace,有点像用SQL Server Profiler建立的跟踪文件,但是比它更容易操作:不必经过多少如Events、Data Columns和Filters之类的复杂工作。替而代之的是一种逐级的向导,只需要设置几个简单的参数即可完成,包括指定Trace表名(Coefficient用来存储跟踪数据的SQL Server表)、设置Trace运行时间(试用版最多只能运行20分钟)、设置分析是否在Trace结束之后立即执行,等等。
如果选择在Trace完成之后立即运行分析(Analysis),还需要指定分析文件存储的地方和运行分析的类型,这些常常是通过选择模板完成的,也就是说,模板(Template)是用来指定想要执行的分析的具体类型。
完成向导,Trace就开始了,一直运行到指定的时间跑完为止(如图2)。在这期间,监控所得到的数据保存在SQL Server中指定的Trace表中。随后可以立即进行Analysis,用户也可以在任何时候对Trace表中的监控数据进行多种分析。
分析的结果保存为很多HTML文件,用户可以方便地打开并点击查看各项内容。更重要的是,分析结果能方便地发布在内部网的网络服务器上,供多个用户使用浏览器进行查阅。
Analysis是Coefficient的关键
在介绍分析结果之前,让我们先了解模板(Template)和分析(Analysis)类型。当用Coefficient执行分析时,可以选择一个已预定义好的模板,也可以建立自己的模板。实际上,模板就是一个很多分析类型的列表,建立模板就是选择需要进行的分析对象。通过这个列表,Coefficient处理从数据库中收集的跟踪数据。Coefficient总共可以分析多达49种不同的指标,这些指标都和SQL Server内部工作有关。主要有以下典型性能分析:
客户中断请求和中断连接信息。通过attention events常常可以查出在客户端和服务器之间的通讯问题。
SQL Server和NT用户连接信息。例如哪个用户连接了多长时间。
死锁次数及导致这些死锁的信息。
SQL Server错误和警告信息。
表统计的遗漏信息。可以帮助确定统计是否存在任何遗漏,这些信息可以用来优化查询,提高执行程序代码的速度。
图3 选择模板和分析项目
SQL语句是否执行和SQL Prepare/Execute模型。运用这些模型常常可以加快重复执行SQL代码的速度。
执行计划重复使用的频率。
存储过程再编译的频率。
存储程序和SQL语句的调用情况。包括持续时间、读和写的次数,等等。
SQL Server超时次数。
一个Coefficient实例
假设要分析数据库中的存储过程的性能,并确定存储过程的最大共同点。当调整一个数据库时,最好的解决办法之一就是确定哪个存储过程运行最频繁,而后对这些存储过程进行优化。即使只使一个存储过程减少了三分之一的运行时间,如果一天需要运行10,000次这个存储过程,那也是一个可喜的成绩。
首先建立一个Trace,选择SPSQL模板进行分析。SPSQL模板可以提供很多数据,但是我们仅仅对哪个存储过程运行最频繁感兴趣,所以只需选择Stored Procedure Call Frequency report(SPSQL模板的一个部分)。
依照上述步骤进行即可生成监控报告,报告里既有表格也有图例,在表格里以存储过程运行的频率大小排序,图例就显示在表的上面(如图3)。
图4 分析报告
从图中,很容易就能得知哪个存储过程运行频繁。在这个例子中,存储过程名字是pcGet_SJZH_NJ,在Trace周期内被调用682次。从表格中还能得到更多关于存储过程的信息,例如平均持续时间(毫秒)、平均数量、读写次数和CPU平均占用率等等。
Coefficient的另一个特色是可以提供更多的详细信息。例如,假定我们想要了解pcGet_SJZH_NJ过程的详细信息,就可以点击名字打开另一个页面查看更多具体数据,在接下来的页面上能看到常规统计信息、持续时间统计、读取统计、记录统计、CPU统计、存储过程引用和存储过程的源代码(如图4)。另外,还可以点击“Execution plan”查看存储过程的执行计划。需要强调的是,提供的信息很详细,不仅可以查看到发送给存储过程的数据,也可以看到存储过程的参数,以及执行计划(Execution plan)。
嵌入报告中的帮助信息
Coefficient产生的数据比较多,用户可能会担心弄不清这些数据到底表示什么,怎样才能利用它们进行数据库性能调整。其实担心大可不必,在每篇分析报告的下面都有大篇幅的关于数据含义的总体说明。这些说明并不涉及产生的具体数据,但有很多关于数据库性能优化的基础知识。从某种意义上说,Coefficient本身就是一本SQL Server数据库优化手册。
Coefficient的适用人群
Coefficient对SQL Server程序员和数据库管理员都很有用。程序员可以把它用在基于SQL Server的应用软件的开发过程和测试过程中,而数据库管理员会觉得有益于调整已开发出来的应用软件,因为数据库随时间不断变化,数据库管理员们能使用Coefficient即时查看数据库内部的运行情况。最常用的是用Coefficient定义数据库各个性能方面的基准,然后比较不同周期的分析结果,借以了解数据库的运行情况。
上一篇:
正确配置和使用SQL mail
下一篇:
关于如何在查询结果中添加自动编号
热门教程
1.
Mysql5写中文乱码问题解决
2.
通过MySQL内置全文检索实现中文
3.
Google发布改进版本MySQL代码
4.
全面解决MySQL网络安全问题
5.
在MySQL中增添新用户权限的方法
6.
MYSQL数据库常用命令集合
7.
妙用触发器有效管理MySQL数据库
8.
MySQL 5.0 数据库的新特性的存储
9.
Mysql 数据库字符集转换
推荐教程
相关教程
·
关于如何在查询结果中添加自动编
·
如何提取除最新十条记录之外的所
·
MySQL修改密码方法总结
·
一个有关DISTINCT的问题解答
·
SQL--JOIN之完全用法
·
如何随机选取n条记录或者对记录
·
如何使Microsoft SQL Server的日
·
金额阿拉伯数字转换为中文的存储
·
如何将Access和Excel导入到Mysql
精彩广告
·
本站推荐联盟Google adsense
·
本站域名注册续费55元 空间120
·
推荐站长网精华文章导读
·
北京站长
江苏站长
浙江站长
·
江西站长
安徽站长
山西站长
·
山东站长
河北站长
辽宁站长
·
吉林站长
黑龙江站长
重庆站长
·
上海站长
天津站长
河南站长
·
海南站长
福建站长
湖北站长
·
广东站长
新疆西藏
宁夏站长
·
青海站长
甘肃站长
云南站长
·
贵州站长
四川站长
陕西站长
·
广西站长
湖南站长
内蒙古站长
网站地图
-
域名注册续费虚拟主机代理
-
交易论坛
-
网站投稿
-
广告服务
-
帮助中心
-
联系我们
Copyright ©2003-2007 www.Admin5.com All Rights Reserved