基于SQL数据库的性能优化的探讨

2015-07-02 18:48常玉明
科技资讯 2015年7期
关键词:性能优化数据库

常玉明

摘 要:在数据库应用系统中的数据量不断增大的背景下,效率成为数据库在应用与开发管理中需要解决的首要关键,对于数据库的优化,不但要对逻辑性数据库与物理性数据硬件、服务器的硬件平台进行优化,还要对SQL语句的本身查询进行优化。该文主要对SQL数据库中对效率产生影响的问题进行分析,探讨相关的性能优化对策,从而提高SQL数据库的性能与运行效率。

关键词:SQL 数据库 性能优化

中图分类号:TP392 文献标识码:A 文章编号:1672-3791(2015)03(a)-0017-01

SQL(结构化查询语言)数据库早已被大众所熟知和广泛接受,一句简单的SQL命令语句就可以执行复杂的数据操作,有着功能强大、兼容性强、应用范围广、易学易会上手快等诸多优势,从开发出来就受到热烈的追捧。但是,随着信息技术不断发展,信息量爆发式的增长,因数据库系统设计的不规范性等导致的效率不高、性能低下问题日益突出,所以,对SQL数据库进行性能优化研究,以使其功能优势得到最大限度的发挥,从而提高系统效率有着重要意义。

1 影响SQL数据库性能的一些主要问题

1.1 数据库的设计问题

首先,表的设计。对表的设计需要依据具体的情况进行,处理好表中的每一个细节和样式,减少给数据库数据分析的清晰度以及数据信息的准确性造成的影响。其次,索引的设计。使用索引可快速访问数据库表中的特定信息,与书本中的目录相似,能够提高检索效率。索引的设计是否符合要求、是否得当对SQL数据库的具体执行速度有直接的、决定性的关系,理解索引是进行数据库性能调优的起点。再次,视图的设计。其是查看数据库中的数据信息的主要方法之一,它的好坏对数据的查看以及处理有着直接的影响。最后,数据的设计。在进行数据设计时应将繁杂的内容简单化,以达到一看就懂的效果,否则用户难以接受。应减少多余的数据信息,多余的信息会给用户操作带来一定的困难,在数据库进行回复数据与多方连接时也会引发一些负面的影响。

1.2 事物的管理问题

事物是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位,其具有原子性、一致性、隔离性和持续性的特征。编写合理有效的事务,并进行科学的管理,对保持数据库的完整性,提高数据库系统效率有巨大的积极意义。

1.3 应用程序的质量问题

应用程序的质量对数据库性能的影响主要体现在:若程序的质量比较高,就会大幅度的减少工作的时间,提高执行的效率。相反,若程序的质量比较差,不仅影响查询结果的准确性,还会对数据库造成负面影响,降低信誉度。根据统计,对网络、硬件、操作系统、数据库参数进行优化所获得的性能提升全部加起来只占数据库应用系统性能提升的40%左右,其余60%的系统性能提升全部来自对应用程序的优化。

1.4 硬件的配置问题

在计算机中,其系统主要分成软件系统与硬件系统两个部分,其中,硬件系统是软件系统的载体,硬件配置的高低对计算机运行速度与效率有直接影响。虽然我国大部分区域都已经普及计算机,但是因计算机的硬件配置上还存在一些不足,使得SQL 数据库的性能在配置不足的计算机上难以正常发挥。

2 优化SQL数据库性能的一些主要措施

2.1 对索引的优化措施

索引是从数据库中获取数据的最高效方式之一,合理有效的使用索引可以大幅度提高数据库性能,但过多或不当的索引也会导致系统低效,甚至会导致索引碎片。对索引的优化关键是遵循索引建立的原则,消除认识上的误区。下面这些认识是极端错误的:(1)主键就是聚集索引;(2)只要建立索引就能显著提高查询速度;(3)把所有需要提高查询速度的字段都加进聚集索引,以提高查询速度。一些好的索引使用经验:(1)用聚集索引比用不是聚集索引的主键速度快;(2)用聚集索引比用一般的主键作order by时速度快,特别是在小数据量情况下;(3)不要索引常用的小型表;(4)不要索引 memo/notes 字段和不要索引大型文本字段(许多字符),等等。

2.2 对语句的优化措施

SQL的语句优化指的是将原本散乱繁杂的语句经相关处理手段与技术改进之后,变成具有一致性与统一性的新语句,SQL语句消耗了70%~90%的数据库资源,所以对语句的优化是数据库性能优化的重点。传统的优化方法是采用手工重写的方式,通过校验比对来获取性能较佳的语句,这完全依赖于人的经验,经验的多寡决定了优化后SQL语句的性能。另外一种方法是使用优化工具,对语句优化的工具主要包括:(1)执行计划与分析工具:这类工具对输入的SQL语句从数据库提取执行计划,并对执行计划中关键字的含义进行解释;(2)添加索引建议的SQL语句优化工具:其主要是通过对输入的SQL语句的执行计划的分析来产生是否要增加索引的建议;(3)人工智能SQL语句优化工具:如LECCOSQL Expert,其本质上是借助于人工智能技术,对SQL语句自动重写,并获取性能最好的SQL语句。

2.3 服务器配置的优化措施

CPU是保障计算机正常运行的基础,其在维护时也作为重点对象进行保护,CPU一旦在较高速率下进行长时间的工作,就要注意及时对其进行升级。内存作为计算机存储器,其主要作用就是存储程序与数据,所以内存的状态良好是SQL数据库功能优化的关键。而在内存中,若是系统占用过大会影响程序的正常运行,因此,必须在设计SQL数据库时尽量不占用过多内存。此外,磁盘也会影响到数据库运行的效率,处理的关键就是增加磁盘容量和提高磁盘I/O性能。

2.4 物理的优化措施

在物理优化中,首先要对文件组进行优化,将多个磁盘驱动器内的特定对象移到单个磁盘当中,并将数据库的文件分成多个文件组,在用户使用时可利用已分好的文件组实施查询与修改等工作,从而提高数据库性能;其次对磁盘进行优化,使用RAID(独立冗余磁盘阵列)可以增强数据整合度,增强容错功能,增加吞吐量或容量,在一个磁盘出现故障时其他磁盘可以替代,提高数据库可靠性。

3 结语

SQL数据库性能与运行环境、软件架构、设计、开发、日常维护等过程息息相关,优化工作涉及到数据库工作中多个针对性的对象,在优化过程中要充分考虑各个优化对象的相关性,各个环节做到紧密结合是优化成功的关键。该文主要对SQL数据库性能优化进行研究分析,望给予今后工作提供有用借鉴。

参考文献

[1] 高欣.关于如何优化SQL数据库性能的几点分析[J].科技创新与应用,2013,12(27):312-313.

[2] 李宏著,谭娜.关系数据库SQL查询语句优化应用[J].科技创新导报,2011,5(36):21-28.

[3] 丁燕云,魏娟.浅析SQL数据库的性能优化问题[J].科技信息:学术研究,2014,2(34):20-23.

[4] 杨柳.SQL数据库的性能分析与优化策略研究[J].科技创新导报.2011,28(1):314-316.

猜你喜欢
性能优化数据库
数据库
SQL Server数据库性能优化的几点分析
Web应用的前端性能优化
数据库
Oracle数据库性能调整与优化分析
数据库
数据库