APP下载

数据库优化技术的分析与研究

2015-01-08朱志跃邓大川

中国科技纵横 2014年12期
关键词:优化技术数据库分析

朱志跃++邓大川

【摘 要】 数据库的优化是指通过对数据库数据、网络、硬件、操作体系和应用程序的优化来跨过其I/O存储的瓶颈、提升中央处理器的利用率和减少资源竞争。数据库的优化是一个十分繁杂的问题。因为,对数据库进行优化需要专业的数据库理论知识,更需要实际经验。本文将对数据库的优化工作进行分析和研究。

【关键词】 数据库 优化技术 分析

伴随现代企业的飞速发展,各企业为了提升行业知名度和企业的创新技能,都自然而然地运用了信息化管理模式。然而,要想利用信息化管理模式为企业服务,就必须熟悉数据库技术。并且,要使企业的信息体系平稳、安全运行,就一定要让数据库的应用系统平稳、高效运转。所以,分析和研究数据库优化技术具有巨大的现实意义。

1 优良的数据库性能的判定标准

对于同一个系统来说,可以设计出多种数据库模型。然而,这些数据库模型由于其质量的差异性会呈现出不同的功效。并且,对需求相同但设计不同的数据库,工作人员也会设计出不同的数据库模型。而这些数据库性能是否得到了充分的发挥,可以由两个指标来测量:即响应时间和吞吐量,并且响应越迅速,吞吐量就越大,数据库性能就越好。以下是常规的大型数据库的性能标准:

(1)单项记录的更新时间应在1秒内;而多项记录的更新时间应在10秒以内。(2)对于4个表以下的数据的查询时间应在5秒以下。(3)对于特定限度的查询应在10秒以内。但是,整个表的查询时间应在30秒以下。

2 数据库优化应遵守的方式

数据库优化是指有目标性地调节部件及改良性能,使数据库的吞吐量增大,缩短响应时间。下面笔者将归纳出数据库性能优化应遵守的一些办法。

2.1 设定科学的性能目标

在优化开始前,需要设定科学的性能目标。并且,设定目标应遵循可量化、可达成的准则。其中,可量化是指应明确在量化的过程中必需的性能指标;而可达成是指必须定义目前的性能指标。

2.2 明确影响数据库性能的因素

当数据库运行了一段时间后,性能会有所下降,此时不能靠猜测并随意进行更改,因为这会造成资源的浪费。

2.3 明确改良数据库性能的元素

因为改良数据库性能的办法都能形成严重的负面效果,所以在达成既定目标时,应终止全部工作。

3 数据库优化的方法

数据库优化的方法有许多,并且不同的数据库有不同的方法。下面笔者将罗列出几种具体的方法。

3.1 数据库服务器内部存储空间的分配

充实的内存可以加快数据库的运转速度和提升中央处理器的使用效率,而内部存储空间不足时会极大地降低中央处理器的使用效率。

3.2 科学的物理储存途径

数据库在处置海量数据时,应优先考虑物理储存途径。其中,物理储存途径主要包含:数据在磁盘中的散布状态、索引文件的组织、日志文件的散布等等。而数据在磁盘中的散布方式主要是分离静态数据和业务数据。其中,数据库中的静态数据主要是数据词典,该类数据的改动频率较低;然而,查询时会多次用到。而使用索引有利于迅速访问表中的数据,它能极大地减少找寻到特殊数据行所需的I/O操作。使用索引时应遵守以下法则。

(1)在设立索引时,若是为一个经常被更新的列设立索引,则会使数据库性能变得低下,而一张表的索引太多会影响到该表的更新性能。这是由于更新一旦出现,该表全部索引都要及时作出改变,这样会耽误运行时间。(2)对于小型表来讲,不用设立索引。这是由于小表可以直接扫描,这样速度更快并且维护成本较低。(3)对重复值极大的列,应设立位图索引而非常规索引。因为,如果针对这样的列进行常规索引的设立,其查询率会受到影响,从而增大索引建设的工作量。

3.3 利用SQL语句的优化技术来提升数据库的效率

SQL语句的利用可以极大地提升数据库的性能。一个优良的运用程序容许数据库对一万个以上的并发用户进行查询。因为网络上的信息传送是“对话式”的传送,要在数据库和客户端间传输每个批量处理和结果集;为了完成客户端和数据库之间的过量网络传送,就需要采用大型数据库所供给的储存过程和触发器来使信息最小化,以降低网络I/O的载荷。

3.4 规避放弃使用索引的语句操作

(1)因为IN操作符性能较差,所以应尽量规避其在SQL中的应用。此外,NOT IN操作符应停止应用。其对应的语句操作符应由EXISTS或NOTEXISTS来替代。(2)因为IS NULL或IS NOT NULL操作会放弃利用索引,而引发全盘扫描,所以在对NULL没有强制要求的状况下,利用它时应变更为与某个默认值进行比对。例如:将a is not null改成a>0或a>?(空值)。(3)因为连接后的UNION操作符会对其生成的结果集进行顺序的排列和计算,在其返回结果前会将重复的记录予以剔除。因此,在未进行重复记录的状况下可以用UNION ALL来替代。(4)查询字段应明确,SELECT﹡语句要避免用到,赢不到的字段不用返还。(5)因为函数会对索引产生影响,所以应规避函数在索引列上的运用。(6)假如列上的数据种类与有关常量值不相符合,则会形成隐式转换。例如year=“2014”条件将致使year列隐式转换为字符数据种类,进而使year列无法使用索引。

3.5 WHERE后的条件顺序影响

WHERE后的条件顺序会影响到大数据表的查询:

例如:语句一:SELECT Sname

FROM shop,SC

WHERE Item=‘彩电AND shop.S﹟=SC.S﹟

语句二:SELECT Sname

FORM shop,SC

WHERE shop.S﹟=SC.S﹟AND Item=‘彩电endprint

语句一是先连接再进行选择,其运行时间是152秒;语句二是先进行选择后做连接,其运行时间是7.5秒。因此在条件容许的状况下,应先进行挑选后作连接。

3.6 FORM后的查询表顺序的影响

FORM后列表的顺序会影响SQL语句的执行效果。因为FORM后的列表会被优先处理,因此在多个查询表存在的状况下,应将记录条数最少的作为其基础表。为规避因为表的顺序不合适从而耗损服务器资源的状况发生,在链接查询表数多于三个时,挑选交叉表作为其基础表。

3.7 关于气象系统数据库的优化

在由采集器采集到的气象信息中,有温度、压力、湿度、风向、风速、能见度、阳光辐射、大气电场、降水等9类信息,而在对九种信息数据库优化方法中,通常通过改良数据库文件和数据表的设置来实现。当系统的业务运用相对集中在单一的数据表上时,这些表的行数往往达到千万甚至数亿行。而尽可能规避全表扫描或降低查询造成的系统开销是数据库优化的至关重要的举措。所以,应提升I/O表的读写效率,提升系统数据库的工作性能。

4 结语

伴随科技和经济的进步,数据库的优化成为了一个系统工程。并且,在数据库运行的过程中,影响其性能的元素可谓繁多。而不同的应用程序需求又不尽相同,这就使数据库技术人员要找到实用性佳的优化技术来对数据库进行优化。然而,值得一提的是:要想一步到位地找到优化技术是不科学的。所以,在数据库研发和保护的过程中,数据库技术人员应结合实际状况对其进行解析和调节。

参考文献:

[1]张立新.数据挖掘与数据库优化技术在煤矿安全监管系统中的应用[J].煤炭技术,2013,(11):106-107.

[2]张丽君.基于规范化理论的数据库优化技术[J].计算机光盘软件与应用,2012,(12):141.

[3]乌岚.基于多样约束模型的远程教育数据库优化查询算法[J].科技通报,2013,29(1):154-156,180.

[4]张宝政.基于查询语句之外的数据库优化技术研究[J].硅谷,2012,(13):85-85,131.

[5]甘志城.基于WEB的ACCESS数据库优化策略[J].计算机光盘软件与应用,2013,(3):109-110.endprint

猜你喜欢

优化技术数据库分析
隐蔽失效适航要求符合性验证分析
电力系统不平衡分析
结构设计优化技术在房建结构设计中的运用分析
燃煤机组运行监测及优化技术的现状分析
电力系统及其自动化发展趋势分析