基于M s s Q L s E R V E R数据库的性能优化
刘畅
(沈阳职业技术学院辽宁沈阳110045)
【摘要】通过对E—ST A R T股票交易系统的调整和优化,实现缩短查询响应时间,系统的客户端查询速度也得到明显的提高。
[关键词]数据库性能优化s Q L Ser ver
中围分类号:TP3文献标识码:^文章编号:167卜7597(2009)0110051-01。
随着现代计算机科学技术的发展和信息应用系统信息量的增大,数据库已逐步成为计算机信息系统和计算机应用系统的基础和核心,而数据库性能问题的重要性也越来越引起人们的关注。这样,提出了基于s Q L ser ve r数据库应用系统如何进行性能调整的问题。性能调整的步骤如下:
1.优化业务逻辑;2.调整数据结构设计:3.调整应用程序结构;4.优化数据库的逻辑结构;5.优化数据库的操作;6.数据库服务器性能调整。
一、基于E—ST AFr r股票交易系统的数据库性能调整分析
针对在数据库使用过程中出现的问题,结合现有的数据库调整措施和优化技术,对原E-ST A R T系统数据库制定了以下调整步骤:
1.优化数据库设计调整。针对出现的系统运行效率低的问题,结合已有的业务逻辑,对原系统的相应数据库逻辑设计和物理结构做出合理的调整。
2.客户端应用程序调整。针对客户的遇到的查询等待问题。对应用程序中影响查询效率的不合理的设计进行调整,包括:sQ L查询语句的优化、应用程序的调整、合理地增加存储过程。
3.服务器性能调整。针对使用过程中系统资源消耗大、运行成本高的问题,通过对数据库服务器硬件性能瓶颈的分析和调整及对s Q L ser ver与操作系统参数的合理配置优化服务器性能。
二、敦据库设计调整
(一)逻辑数据库设计调整
可以从以下几个方面来精练数据库的逻辑设计:
1.在适当的地方采用反规范形式;2.在适当的地方分割表;3.在适当的地方把表进行分组放入数据库;4.执行完整性约束。
(二)调整物理数据库设计
对本项目物理数据库设计的调整两条关键性的指导原则如下:将序列访问的文件分离到专用的磁盘上,并通过将数据文件分散到各个磁盘上而允许并行I/O。
1.数据库功能分配。该E—sT A R T股票交易系统升级项目采用的开发平台为w i n d佣s2000,数据库为M i cr oso f t SQ L Ser ver2000。E—STA R T系统的原数据库包括两个数据库实例。
对s Q L s ever2000系统功能上可以按四种系统数据库和应用数据库进行功能分配:陋st er数据库、t e叩db数据库,m odel数据库、m s db数据库、Ⅲb r曲应用数据库和E sTA R T应用数据库。
盼s t er数据库记录s Q L ser v er系统的所有系统级别信息。t eⅢpdb数据库保存所有的临时表和临时存储过程,还满足任何其它的l临时存储要求。默认情况下,在s Q L ser v er在运行时t e呻db数据库会根据需要自动增长。不过,与其它数据库不同,每次启动数据库引擎时,它会重置为其初始大小。∞de l数据库用作在系统上创建的所有数据库的模板。m sdb数据库供S Q L ser ve r代理程序调度警报和作业以及记录操作员时使用。
2.优化t e印曲性能。对t e叩db数据库的物理位置和数据库选项设置的调整包括:
(1)使用sQ L se r ver企业管理器将t锄pdb数据库设为允许自动根据需求进行扩展。(2)将t e m pdb数据
库文件的初始大小由原来的16惦调整到30惦。这是比较合理的大小,避免了当需要更多空间时文件自动扩展。
(3)将文件增长增量百分比由原来的10%调整到20%,以避免t em pdb
库文件按太小的值增长。(4)建议将t eⅢpdb库放在快速I/O子系统上以确保好的性能。
(三)创建索引
可以在不影响数据库架构和应用程序设计的情况下除去、添加和更改索引。高效的索引设计对获得好的性能极为重要。正因为如此,应该尽量试验不同的索引。索引优化向导可分析查询并建议应该创建的索引。
关于创建索引的建议如下:
1.将更新尽可能多的行的查询写入单个语句内,而不要使用多个查询更薪相同的行。仅使用一个语句,就可以利用优化的索引维护。
2.使用索引优化向导分析查询并获得索引建议。
3.对聚集索引使用整型键。另外,在唯一列、非空列或I D EN T I TY列上创建聚集索引可以获得性能收益。
4.在查询经常用到的所有列上创建非聚集索引。这可以最大程度地利用隐蔽查询。
5.物理创建索引所需的时间在很大程度上取决于磁盘子系统。
三、E—ST A RT股票交易系统客户螬应用程序调整
(一)系统架构的调整
由于本项目要将原有的vB6.O系统升级到vB.N E T。必然导致整个系统架构的调整,即把系统划分为各种不同功能的层次结构,在对原有业务逻辑进行充分调研后,调整后的系统架构包含以下几个层次:
1.U I(用户接口)层:保持与原vB6.0系统中E—st ar t客户端界面一致;2.C on t r ol l er(控制)层:主要功能是接收uI层的请求,根据请求调用相应的业务逻辑,并把业务逻辑处理的结果返回给客户端;3.B u si nes s(业务)层:这层主要处理实际的业务逻辑,可以通过调用E n t i t y(实体)层对数据库进行访问。本层可以重用;4.Ent i t y(实体)层:处于业务层与数据库之间,为业务层提供数据访问操作;5.Fr锄ew or k(架构)层:提供必要的错误处理、日志.删L处理、通信服务、Exce】Ta】k和s
pr ead的通用功能.
(二)优化soL语句
1.sQ L语句的优化分析。选择最有效率的表名顺序;wH E R E子句中的连接顺序;用E xI s T s替代I N;优化G R OuP B Y。
2.使用优化器优化s Q L语句。由于SQ L语言是面向结果而不是面向过程的查询语言,所以一般支持sQ L语言的大型关系型数据库都需要使用一个基于成本的优化器,为即时查询提供一个最佳的执行策略。对于优化器,输入是一条查询语句,输出是一个执行策略。这个执行策略是执行这个查询所需要的一系列步骤。数据库的反应速度经常就体现在这一个优化算法上。
四、结论
对数据库性能问题进行深入研究,提出关于数据库性能调整与优化的具体方法和措施,对于解决数据库瓶颈了保证数据库稳定高效运行具有关键作用,也有着良好的理论与应用价值。从某一具体项目来看,服务器参数配置,sQ L语句优化和存储过程使用都是常用的调整技术,但就一般性的原则来说,数据库性能调整问题是贯穿数据库应用系统整个生命周期的活动。从系统规划、程序编写、系统测试、运行维护都需要涉及性能调整技术。
参考文献:
[1]A rt Tayl o r著.J D B c数据库编程与J2EE,电子工业出版杜,2004.
[2]朱庆伟、吴宇红,~种对象/关系映射框架的分析和应用t电子科技,2004.
[3]田珂、谢世波、马,J2EE持久层的解决案,计算机工程,2003.
sql语句优化方式
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论