APP下载

数据库管理系统中查询优化的设计和实现措施

2018-02-26贾钦

电子技术与软件工程 2018年15期
关键词:设计措施

贾钦

摘要

数据库管理系统作为系统软件的数据处理中心,同时也是现代信息化建设中最广泛的应用,能够研发出一套国产数据软件一直是我国的目标。而查询优化作为该系统中的一个重要组成部分,本文通过对OSCAR作为研究的内容,通过对查询优化的设计和实现进行重点阐述。

【关键词】数据库管理系统 查询优化 设计措施

1 查询优化关键技术

1.1 查询优化的基本准则

查询优化的基本准则能在一定的程度上对查询效率进行改善,但这种改善的程度和策略都不是最好的。而关于查询优化的基本准则具体如表1。

1.2 查询优化预处理环节

查询优化预处理即对目标列、条件公式和信息集合操作进行的预处理,其主要的目的就是想把查询系统进行一个更为高效率的规划,以达到真正优化的效果。就比如对目标列的预处理,就是要通过查询优化的预处理把断缺的目标列进行补充完整,以确保目标列中的定义顺序和查询系统中的顺序一样。而对于条件公式进行预处理,要把条件表达式中的NOT进行往下推算,或者是把NOT去掉,把这个条件的表达式进行有效的转换,变成可取性和合理化的表达式。针对集合信息的预处理,其主要是Except和Intersect等操作。

1.3 查詢优化的逻辑性优化

查询优化系统中的逻辑优化主要是依靠于索引来进行的,通过一个物理上的逻辑优化来完成查询过程中的运算。该逻辑的优化过程主要包括两个方面,一是在优化的过程中要能找到有“AND”的表达式,然后通过索引的表达式进行查询,如果没有该表达式,就可以用扫描的形式进行一个逻辑性的运算。如果用索引的表达式可以查询出来,就先使用这个查询的表达式,最后再利用该表达式的运算结果进行对其他表达式的查询。二是采用“OR”形式的表达式优化过程,这个查询优化的逻辑思路与“AND”相似,都是先通过索引的查询方式确认是否存在有可用的表达式。如果没有且当存在有很多个子表达式时,就通过对这些子表达式的顺序调整,进而达到运算的结果。

2 实现系统内查询优化的算法

想要实现数据库管理系统的查询优化,首要的任务就是实现算法的优化。根据目前知道的一些成熟的算法,我们可以知道对不同算法的优化,其取得的效果也会不同。而在这篇文章里,主要介绍两种。

2.1 存取方式和存储路径剖析

想要实现对查询优化里面的算法进行优化,其中最主要的一个功能就是对检索数据的选择,根据这个选择设计出一个好的执行方案。在OSCAR数据库管理系统中,采用的主要是三种存取的方法和存储的路径。第一个是顺序扫描,即按照顺序扫描出需要读取的信息里面的全部元素,检测是否每个元素里面都达到满足“WHERE”的要求。但是如果对每一个的内容信息表都要进行扫描,花费的时间就会较多,扫描的运作效率就降低了。为了能够更好更快的对信息元素的读取,所有就有了第二种,索引扫描。索引扫描即通过建立多个或单个的索引信息。当进行语句的访问且是唯一的索引时,数据库管理系统就可以直接的读取出数据信息。第三种就是利用TID进行存取,TID是进行单个查找最快捷的方式。

2.2 利用代价佑算算法分析

利用代价估算算法进行查询优化的分析,其中SYSTEM-R是最为常用的一种方法。这种估算算法是从CPU的角度上进行分析和考虑的,在进行每一次计算的时候都会更注重CPU的消耗。在对每一次的查询优化的索引时,因为会受到一些选择性因素的限制,所以就会导致多种可能性的出现。比如下面:

访问磁盘1次所需的代价可表示为:

CI/O=DO+xD1

其中:x存取数据的大小,以字节表示

DO与x无关的I/O代价,包括寻道时间和等待时间

D1每个字节所需的传输时间

一般D0>>xD1故

I/O代价=I/O次数×D0

3 数据库管理系统中查询优化的实现

3.1 提高性能设计

在对查询优化进行优化的时候,我们可以发现,一些语句仅仅是因为语句的常数不同,但是他们具有一耳光相同的查询语句。为了能够提高数据库的查询效率,可以把常数设置到一定的范围,把具有相同模式的查询语句进行一个常数间的相互替换。这样可以有效的实现相同模式的查询语句就只用做一次的语法分析,进而达到节约时间的效果。而为了能够做到查询的优化,第一步就是先要对查询中的语句进行一个有效的缓解,通过提取语句中的部分内容而进行查询计划。

3.2 提升关键算法

为了能够提高数据库管理的查询优化水平,优化查询的结果。可以通过采用hash的函数形式以保持语法和查询的语句。当然,如果hash函数鸡舍得不够合理化,那么势必就会造成一定的冲突,最后会降低hash的效率,也提升不了关键算法的水平。

4 结束语

随着我国经济的快速发展,经济业务的不断增多,对未来的数据库管理的要求性能也更大,对系统的运行速度要求也更大。为了能够更好的促进我国对数据库管理系统研发的进程,能够更快更有效的缩短我国与国外数据库管理技术的差距,这就需要我们要从最核心的设计出发,以便更快地研发出一款具有国际性标注的数据库管理产品。

参考文献

[1]张杰敏.有关高级数据库系统中的并发控制问题[J].华北工学院学报,2012(03):22-30.

[2]赵艳平.数据库管理系统的组成与发展[J].科技信息,2011(07):45-56.

猜你喜欢

设计措施
浅谈降低轻型汽车机械变速器噪声的设计措施
基于税务管理流程下企业税务风险管理系统设计的思考
土木工程结构设计存在的问题及设计措施