数据库论文数据库管理系统中查询优化的设计.PDF
文本预览下载声明
中国月期刊咨询网
数据库论文数据库管理系统中查询优化的设计
目前,数据库管理系统已经成为数据库技术中的核心技术,同时也是信息化建设中应用最广泛的软件。数据库管理系
统经过几个阶段的发展,已经在商业领域得到了迅速和广泛的应用。广泛的应用领域为数据库技术的发展和不断进步
提供了发展的原动力,如今的数据库管理技术呈现出标准化、网络化、大型化和智能化的趋势。
【摘要】目前,数据库管理系统已经成为数据库技术中的核心技术,同时也是信息化建设中应用最广泛的软件。如今
的数据库管理技术呈现出标准化、网络化、大型化和智能化的趋势。国外数据库管理系统由于研究的时间比较早,其
技术比较先进。我国虽然也自主研发了一些数据库管理系统,但是和国外的产品相比还有一定的差距。本文以国产数
据库管理系统OSCAR为例,重点阐述了查询优化的一些关键技术和具体实现方法。
【关键词】数据库管理系统,查询优化,选择性因子,关键技术
1引言
我国从宏观政策方面也给数据库管理系统一定的扶持,例如国家的863计划就专门设立了“数据库管理系统及其应用
”。本文以国产数据库管理系统OSCAR为例,重点阐述了查询优化的一些关键技术和具体实现方法。
2查询优化关键技术
2.1查询优化的一般准则
查询优化的一般准则能改善一定程度的查询效率,但是并不是改善程度最好,策略最好的。查询优化的一般准则如表
1所示。
2.2查询优化的规则系统
神州OSCAR数据库管理系统,应用范围广泛,该数据库主要基于Client/Server的结构,该体系结构又分为物理结构、
逻辑结构、进程和内存结构四个方面。同时OSCAR数据库管理系统具有强大的规则系统,该规则系统可以实现不明
确试图和试图的更新。例如位于分析器和优化器之间的重写系统,其作用是分析传回的用户查询信息。当重写规则被
定义之后,重写系统将对传回的用户查询进行内部操作。
2.3查询优化预处理
查询优化预处理是在真正的优化处理之前进行的操作,主要是为了进行更加高效地查询规划,查询预处理包括对目标
列的预处理、条件表达式的预处理和对集合操作的预处理。例如对目标列的预处理首先要补全目标列,然后需要确保
表定义中的顺序和查询树的顺序一致。对条件的预处理需要把条件表达式需要把NOT下推或尽可能去掉NOT,或者
把条件表达式转换成析取范式或者合取范式。对集合的预处理操作又可分为Except、Union和Intersect等。
2.4查询优化的逻辑优化
逻辑优化的完成主要依靠索引来完成,主要是进行物理上的优化过程,从而使用逻辑优化来完成查询的计算过程。逻
辑优化主要包括两个方面。
“AND”的优化过程。在进行优化时第一步是要找出含有“AND”的逻辑表达式,然后查询是否存在可以使用索引
的子查询表达式,如果不存在则采用扫描的方式进行逻辑运算。如果存在可以使用索引的子查询表达式,就需要先计
算中查询表达式,最后利用查询表达式的运算结果计算其余的查询表达式。
“OR”的优化过程。“OR”的优化过程和“AND”的优化过程基本思路一致,都需要在子查询表达式中找出是否存
在可以使用的索引。如果不存在可以使用的索引,当子查询表达式存在多个时,就要调整子查询表达式的运算顺序,
从而得到中间结果,把中间结果最后进行“或”计算后得到最后的计算结果。如果存在可以使用的索引,就需要使用
索引得到中间计算结果。
3实现数据库管理系统查询优化的算法
1 / 3
中国月期刊咨询网
算法是实现数据库管理系统查询优化的基础和关键,目前成熟的算法也很多,不同的算法查询优化的效果也更不相同
,本文重点介绍两种。3.1存取方法和存储路径分析
查询优化器的一个重要功能就是如果选择检索数据,然后构造良好的执行计划。在OSCAR数据库管理系统中主要采
用下面三种存取方法和存储路径。
顺序扫描。顺序扫描需要读取信息表中全部元组,检查每一个元组是否满足WHERE的条件,对于任意一个信息表,
需要从头到尾的按照顺序扫描一遍,需要花费的时间相对较长。为了提高扫描效率,可以使用多块读取的方式。
索引扫描。利用建立的多列或单列索引,可以提高检索的效率。当语句访问
显示全部