首页 >  文献综述  > 正文

关系数据库的查询优化探究

一)关系数据库涵义的简要表述
1.关系数据库的涵义及特点
关系数据库是一种采用关系数据模型的数据库。从理论上讲,关系数据库的型称为关系数据库模式,是对关系数据库的描述,若干域的定义,在这些域上定义的若干关系模式。关系数据库的值是这些关系模式在某一时刻对应的关系的集合,通常简称为关系数据库。在关系数据库中,将“关系”作为单一的数据结构,现实世界的实体以及实体间的各种各样的联系均可以用“关系”来表示;同时,将二维表作为数据的逻辑结构,从用户角度来看,关系数据模型中的逻辑结构是一张二维的表格。但是,关系数据模型的简单数据结构却能表达出丰富的而又深刻的现实世界中的实体以及实体之间纷繁复杂联系。
2.SQL语句的特点
    通过数据库建库建表工具可以便捷实现关系数据库及其各种关系表的创建,不过使用SQL语句建立数据库及其中各个表也是常用的方法。SQL 是用于访问和处理数据库的标准的计算机语言,SQL 语句用于取回和更新数据库中的数据。
(二)关系数据库查询功能的主要特点
    1.关系数据库查询语句的涵义及特点
基于在社会生活中对数据的运用特点,关系数据库的应用中最主要的功能是数据查询功能。在数据库应用中,查询是最基本、最常用,也是最复杂的操作。数据库的查询一般都以查询语言表示,例如SQL语言。对关系数据库的查询操作,需要时刻注意数据的逻辑结构,通过对数据关系进行向查询语言的合理转化,从而得到有用的查询结果。
2.关系运算的简介
关系数据库的基础关系模型就是建立在集合代数数学模型之上的数据库组织模式,所以集合运算也适合关系运用中。集合运算主要是并运算(∪)、交运算(∩)和差运算(-)以及广义笛卡尔乘积运算(×)。同时,还存在着三种基本运算:选择运算(σ)、投影运算(∏)以及连接运算(⋈)。
3.关系数据库查询操作存在的现实问题
    查询操作是数据库尤其是关系数据库的基本操作,查询的效率是数据库系统的重要指标。关系数据库由于使用非过程化的高级查询语言以及存在费时低效的多表联接操作,从而产生了良好的用户特性与较差的查询效率的矛盾,而且查询操作所基于的SQL语句在语言中又是代价最大的语句。查询操作的优劣直接影响数据库应用程序的性能。同时,现实中许多数据库开发人员在利用一些前台开发语言,如PHP、JAVA等开发数据库应用程序时只注重用户界面的美观,具体功能是否实现,并不重视查询语句的效率问题,导致开发出来的应用程序中某些查询时间过长、响应速度较慢。而整个系统的工作效率低下。
(三)关系数据库查询优化的基本思想和主要手段
1.关系数据库查询优化的涵义和实现思想
以SQL查询语言为例,SQL语言是非过程的查询语言,即用户仅表达查询的要求,而不需要描述查询的过程,用户不必关心RDBMS的具体执行过程,由RDBMS确定合理的、有效的查询策略,这称为RDBMS的查询优化。
目前,实现关系数据库查询优化的主要思想有:DBMS在做完查询语句的词法、语法检查之后,将语句提交给DBMS的查询优化器;优化器对SOL命令进行代数优化,找到和SQL命令等价的关系代数表达式。并优化生成较高效率的等价表达式;优化器对SQL命令进行物理优化,即存取路径的优化。根据系统提供的存取路径,选取合理的存取策略、由预编译模块对语句进行处理并生成查询规划。然后在合适的时间提交给系统处理执行,最后将执行结果返回给用户。从这一过程可看出,优化器执行优化规则的目的在于,从物理性能来说,减少磁盘的存取量,或者从数据库的角度上来看,尽可能地减少I/O操作的次数,有些系统还同时考虑了内存代价和CPU代价。
2.关系数据库查询优化的主要手段和措施
查询优化主要通过代数优化、物理优化、规则优化、代价估算优化等的手段,并且这些手段和途径不是独立的,往往结合使用。
在数据库设计的不同阶段,需要采用不同的措施更好去实现查询的优化。在数据库逻辑设计阶段,查询优化中尽量减少连接运算。连接运算是开销很大的操作,参与连接的关系越多、越大,开销也越大,所以连接优化历来是查询优化研究的重点。关系的大小对查询的速度影响颇大。在数据库物理设计阶段,考虑簇集设计。即把某一属性值相同的元组集中在一个物理块内或物理上相连的区域内,以提高速度;合理使用索引选择。索引是数据库中重要的数据结构,它的根本目的就是为了提高查询效率;采用分区设计。数据库系统一般有多个磁盘驱动器,有些系统还带有磁盘阵列。在程序设计阶段,往往通过一些查询语句的功能对应数据构建的二维表间的关系来提高查询效率,例如:限制数据转换和串操作、使用临时表加速查询、少用“not”或“!=”等间接实现判断类子句等等。
 

以上是本题目部分介绍,若需要完整版或不符合您的要求,请联系客服QQ:840612233

上一篇:企业电商平台系统的文献综述

下一篇:电子商务类参考文献