试论数据库系统的优化举措

时间:2022-08-21 10:28:28

试论数据库系统的优化举措

【 摘 要 】 文章主要针对数据库系统查询优化进行探讨,其目的为探查最小执行代价(时间和费用)的策略,最优化系统性能。优化方法的应用选择一定要适当,并且要科学的权衡便捷度与执行代价,从而确定最佳的优化方案,提高系统执行率。

【 关键词 】 数据库系统;开发优化;查询优化;优化举措

Try to Talk About The Database System Optimization Measures

Li Cong-hui

(GuangdongShaoguan Senior Technicians school GuangdongShaoguan 512023)

【 Abstract 】 this paper mainly in the database query optimization system are discussed, the goal for the minimum price probe execution (time and cost) strategy, optimization system performance. The application of optimization method choice must be appropriate, and scientific weigh the cost and the execution convenient degree, so as to determine the best optimization scheme, and improve the system ZhiHangLv.

【 Keywords 】 database system; development optimization; query optimization; optimization measures

0 引言

完善信息系统管理的重中之重即建立高效数据库管理系统。各种建立在数据库基础上的联机事务分析与联机事务操作对当今社会的计算机应用发展起到至关重要的作用。我们都知道对数据库系统可以进行多种操作,其中查询操作是应用最广泛的一项。SELECT语句是组成SQL语句的一部分,而针对查询系统来讲,SELECT语句则作为其中最大代价语句而发挥其作用。在现实工作中,不管是数据库系统的查询系统的升级或者是针对数据库应用系统的改进都始终是人们关注的焦点。文章主要针对数据库查询系统的优化进行浅谈。

1 影响数据库性能的主要因素

服务器的硬件配置与操作系统的参数设置决定了数据库性能的发挥,其中硬件主要包括CPU、内存、存储空间、网络条件等。一般情况下,设计系统时会留有部分余地,所以对系统的硬件改动相对较少。系统参数对数据库性能的影响主要表现在数据库系统长期运行可能出现表空间不足、回滚段不够、CPU占有率过高,性能急剧下降等异常现象,严重的时候甚至会造成数据丢失。这些异常可能是由于Oracle系统的初始化参数设置不合理造成的,例如系统内存过小,表空间和回滚段大小固定不能自动扩展;也可能是由于对数据库的应用造成的,例如不必要的全表搜索导致大量不必要的I/O读写,从而降低了整个数据库的性能,这些影响因素又可以分为信息系统参数和系统运行后的参数。

信息系统参数在开发信息系统之前完成,主要有数据结构和应用程序结构设计以及硬盘I/O调整。调整数据结构的设计时,程序员需要考虑是否使用Oracle数据库的分区功能,对于经常访问的数据库表是否需要建立索引等;调整应用程序结构设计时,需要考虑应用程序使用什么样的体系结构,是使用传统的Client/Server两层体系结构,还是使用Browser/Web/Database的三层体系结构;硬盘I/O调整,在数据库开发时可以将组成同一个表空间的数据文件存放在不同的硬盘上,实现硬盘之间I/O负载均衡。

2 数据库开发模式优化策略

2.1 避免访问回滚段

如果某个用户对数据库进行查询时,而访问的数据正处于管理员用户修改状态,为维护数据库的一致性,需要访问回滚段来读取查询语句执行时刻的数据值。如果应用程序需要经常读取正在被其它用户修改的数据,数据库系统为了得到一个数据,不得不多次访问磁盘。数据库管理员可通过配置回滚段来减少查询时“snapshot too old”错误的发生,但解决这个问题的根本方法还是需要重新修改应用程序设计,合理对事务进行划分,避免访问回滚段。

2.2 使用表的分区和并行技术

如果必须要在数据库运行特别耗时的操作,应尽量地把这样的操作分解,严格限制操作所涉及的记录数,并设法使操作并行,充分地提高执行效率。

2.2.1 使用分区

分区技术有两个潜在的好处:提高查询性能和提高数据库可用性。数据库查询时,优化器知道哪些分区包含查询所要的数据,而其它分区数据将不会被读取,从而使查询任务更快完成。许多管理工作可只在一个分区上进行,而不影响其它分区的数据,例如可以选择删除一个表分区中的数据,而删除的同时仍然可以使用其余分区的数据。也可对表分区进行再分割,把一个表分区迁移到不同的表空间上。不管实际应用时选用何种分区方式,提高了系统的性能可以说是使用分区的最大优点。

2.2.2 使用并行

Oracle数据库中几乎所有的操作都支持并行特性,包括查询、插入和数据加载。并行选项可以使多个处理器同时处理一条命令,在创建数据库对象时可以设定并行参数,也可在查询语句中重新设。

3 数据库系统的优化举措

3.1 选择最佳解决方案

虽然解决同一个问题可能有许许多多的方法,但真正能与实际结合解决问题的有效方法却不多。比如,利用数据库解决某个问题可以采用甲种办法,也可以采用乙种办法,虽然操作结果相同,但是二者用时则可能大相径庭,人们当然更愿意选择节省时间的那种。假如将负责人代码输入运行程序的运行界面即将其保存在code中,此时应用查询系统查询P2000表中的负责人代码就相当于查询管理code的人名。若没有输入代码,系统将对P2000表中的全部负责人进行查询。已知负责人的代码值是0~9999.下面是两种办法的具体操作步骤:

上一篇:浅析信息管理系统的访问控制 下一篇:从安全的角度分析数据中心建设