小妖女 发表于 2015-1-16 22:35:47

MYSQL教程之数据库办理员制胜之宝

人力成本上的节省,MySQL的用户Spacemonkey实验室的首席执行官MitchPirtle如此表示:“维护MySQL使得你不需要一个年薪15万美元的DBA。办理员|数据|数据库数据库的调剂和优化多是一个数据库办理员的最次要也是最关头的义务之一。
遗憾的是,对像SQLServer如许的数据库举行调剂和功能调治并非一件简单的事。SQLServer带有几种监控和调试工具,功效壮大,但精晓把握好不容易。


</IMG>
Coefficient相似Profiler

但是,如今有了Coefficient。它是IntrinsicDesign公司公布的新产物,对初学者和有履历的数据库办理员都合用。Coefficient能够匡助增强SQLServer的功能调治,进步操纵员监控SQLServer外部事情的才能。最有效处的是,它能把监控数据以几近一切的数据库办理员都能够了解的格局呈列出来。
Coefficient并非PerformanceMonitor,QueryAnalyzer大概Profiler的完整交换品。Coefficient更像增强的SQLServerProfiler。它的事情体例非常相似于Profiler,但比Profiler更加简单利用和了解。

Coefficient运转历程
Coefficient能够安装在SQLServer服务器上,也能够安装在任何经由过程收集联合在SQLServers上的盘算机上。安装非常复杂,安装终了便可当即举行监控事情了。一样平常来讲,按以下步骤举行:
起首在主页面上增添一个SQLServer,就像利用EnterpriseManager注册一个SQLServer一样。
在列表上选择一个想要剖析的数据库,然后创建一个跟踪,即一般所说的Trace,有点像用SQLServerProfiler创建的跟踪文件,可是比它更简单操纵:不用经由几如Events、DataColumns和Filters之类的庞大事情。替而代之的是一种逐级的导游,只必要设置几个复杂的参数便可完成,包含指定Trace表名(Coefficient用来存储跟踪数据的SQLServer表)、设置Trace运转工夫(试用版最多只能运转20分钟)、设置剖析是不是在Trace停止以后当即实行,等等。
假如选择在Trace完成以后当即运转剖析(Analysis),还必要指定剖析文件存储的中央和运转剖析的范例,这些经常是经由过程选择模板完成的,也就是说,模板(Template)是用来指定想要实行的剖析的详细范例。
完成导游,Trace就入手下手了,一向运转到指定的工夫跑完为止。在这时代,监控所失掉的数据保留在SQLServer中指定的Trace表中。随后能够当即举行Analysis,用户也能够在任什么时候候对Trace表中的监控数据举行多种剖析。
剖析的了局保留为良多HTML文件,用户能够便利地翻开并点击检察各项内容。更主要的是,剖析了局能便利地公布在外部网的收集服务器上,供多个用户利用扫瞄器举行查阅。

Analysis是Coefficient的关头
在先容剖析了局之前,让我们先懂得模板(Template)和剖析(Analysis)范例。当用Coefficient实行剖析时,能够选择一个已预界说好的模板,也能够创建本人的模板。实践上,模板就是一个良多剖析范例的列表,创建模板就是选择必要举行的剖析工具。经由过程这个列表,Coefficient处置从数据库中搜集的跟踪数据。Coefficient统共能够剖析多达49种分歧的目标,这些目标都和SQLServer外部事情有关。次要有以下典范功能剖析:
客户中止哀求和中止毗连信息。经由过程attentionevents经常能够查出在客户端和服务器之间的通信成绩。

</IMG>
SQLServer和NT用户毗连信息。比方哪一个用户毗连了多长工夫。
逝世锁次数及招致这些逝世锁的信息。
SQLServer毛病和告诫信息。
表统计的漏掉信息。能够匡助断定统计是不是存在任何漏掉,这些信息能够用来优化查询,进步实行程序代码的速率。

</IMG>
选择模板和剖析项目

SQL语句是不是实行和SQLPrepare/Execute模子。使用这些模子经常能够加速反复实行SQL代码的速率。
实行企图反复利用的频次。
存储历程再编译的频次。
存储程序和SQL语句的挪用情形。包含延续工夫、读和写的次数,等等。
SQLServer超时次数。

一个Coefficient实例
假定要剖析数据库中的存储历程的功能,并断定存储历程的最年夜配合点。当调剂一个数据库时,最好的办理举措之一就是断定哪一个存储历程运转最频仍,尔后对这些存储历程举行优化。即便只使一个存储历程削减了三分之一的运转工夫,假如一天必要运转10,000次这个存储历程,那也是一个可喜的成就。
起首创建一个Trace,选择SPSQL模板举行剖析。SPSQL模板能够供应良多数据,可是我们仅仅对哪一个存储历程运转最频仍感乐趣,以是只需选择StoredProcedureCallFrequencyreport(SPSQL模板的一个部分)。
按照上述步骤举行便可天生监控呈报,呈报里既有表格也有图例,在表格里以存储历程运转的频次巨细排序,图例就显现在表的下面。

</IMG>
剖析呈报

从图中,很简单就可以得知哪一个存储历程运转频仍。在这个例子中,存储历程名字是pcGet_SJZH_NJ,在Trace周期内被挪用682次。从表格中还能失掉更多关于存储历程的信息,比方均匀延续工夫(毫秒)、均匀数目、读写次数和CPU均匀占用率等等。
Coefficient的另外一个特征是能够供应更多的具体信息。比方,假定我们想要懂得pcGet_SJZH_NJ历程的具体信息,就能够点击名字翻开另外一个页面检察更多详细数据,在接上去的页面上能看到惯例统计信息、延续工夫统计、读取统计、纪录统计、CPU统计、存储历程援用和存储历程的源代码。别的,还能够点击“Executionplan”检察存储历程的实行企图。必要夸大的是,供应的信息很具体,不但能够检察到发送给存储历程的数据,也能够看到存储历程的参数,和实行企图(Executionplan)。

嵌进呈报中的匡助信息
Coefficient发生的数据对照多,用户大概会忧虑弄不清这些数据究竟暗示甚么,如何才干使用它们举行数据库功能调剂。实在忧虑年夜可不用,在每篇剖析呈报的上面都有年夜篇幅的关于数据寄义的整体申明。这些申明其实不触及发生的详细数据,但有良多关于数据库功能优化的基本常识。从某种意义上说,Coefficient自己就是一本SQLServer数据库优化手册。

Coefficient的合用人群
Coefficient对SQLServer程序员和数据库办理员都很有效。程序员能够把它用在基于SQLServer的使用软件的开辟历程和测试过程当中,而数据库办理员会以为无益于调剂已开辟出来的使用软件,由于数据库随工夫不休变更,数据库办理员们能利用Coefficient立即检察数据库外部的运转情形。最经常使用的是用Coefficient界说数据库各本性能方面的基准,然后对照分歧周期的剖析了局,借以懂得数据库的运转情形。这种服务也提供了足够的监控功能来跟踪性能和使用情况,在问题发生时将发出通知并生成一定深度的分析报告。

精灵巫婆 发表于 2015-1-19 18:00:35

分区表是个亮点!从分区表也能看出微软要做大作强SQLServer的信心。资料很多,这里不详细说。但是重点了解的是:现在的SQLServer2005的表,都是默认为分区表的。因为它要支持滑动窗口的这个特性。这种特性对历史数据和实时数据的处理是很有帮助的。

飘飘悠悠 发表于 2015-1-19 18:00:35

每天坚持做不一样的是,认真做笔录,定时复习。一个月你就可以有一定的收获。当然如果你想在sql方面有一定的造诣,你少不了需要看很多很多的书籍了。

不帅 发表于 2015-1-25 12:38:36

无法深入到数据库系统层面去了解和探究

分手快乐 发表于 2015-2-2 22:05:56

不过话说回来了,绝大多数的性能优化准则与对sqlserver存储的结构理解息息相关

仓酷云 发表于 2015-2-8 10:53:47

对递归类的树遍历很有帮助。个人感觉这个真是太棒了!阅读清晰,非常有时代感。

变相怪杰 发表于 2015-2-25 10:08:11

这就引发了对varchar和char效率讨论的老问题。到底如何分配varchar的数据,是否会出现大规模的碎片?

爱飞 发表于 2015-3-7 19:32:18

这一点很好的加强了profiler的功能。但是提到profiler提醒大家注意一点。windows2003要安装sp1补丁才能启动profiler。否则点击没有反应。

小女巫 发表于 2015-3-15 12:34:05

比如,MicrosoftSQLServer2008的某一个版本可以满足现在的这个业务的需要,而且价格还比Oracle11g要便宜,那么这一产品就是适合的。

再见西城 发表于 2015-3-22 01:09:26

SP4包括用于以下SQLServer2000组件的程序包:Database组件(下载文件:SQL2000-KB884525-SP4-x86.EXE)更新SQLServer2000的32位Database组件,包括数据库引擎、复制、客户端连接组件及工具。有关其他信息,请参阅ReadmeSql2k32Sp4.htm。AnalysisServices组件(下载文件:SQL2000.AS-KB884525-SP4-x86.EXE)更新SQLServer2000的32位AnalysisServices。
页: [1]
查看完整版本: MYSQL教程之数据库办理员制胜之宝