关系数据库查询优化策略探究

关系数据库查询优化策略探究

ID:5992038

大小:29.00 KB

页数:8页

时间:2017-12-30

关系数据库查询优化策略探究_第1页
关系数据库查询优化策略探究_第2页
关系数据库查询优化策略探究_第3页
关系数据库查询优化策略探究_第4页
关系数据库查询优化策略探究_第5页
资源描述:

《关系数据库查询优化策略探究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、关系数据库查询优化策略探究  摘要:作为数据的承载平台,数据库在各行各业都得到了广泛应用。查询操作是数据库管理系统最重要的功能之一,使用频率最高。以关系型数据库为基础,从不同的角度出发,对数据库查询优化策略进行了研究。关键词关键词:关系数据库;数据查询;查询优化中图分类号:TP392文献标识码:A文章编号文章编号:16727800(2013)008011102作者简介作者简介:郭威(1993-),男,中南财经政法大学信息与安全工程学院学生,研究方向为信息系统。0引言随着社会经济的不断发展,人们已经进入了一个信息爆

2、炸的时代,随之而来的则是大量数据的存储与操作。如今,数据库管理系统已经深入到各行各业,具有代表性的是银行、证券行业。存储在数据库里的数据存在巨大价值,对这些数据最频繁的操作就是查询。如何从数据库里存储的海量数据中以最快的速度找到想要的数据,直接关系到以数据库服务器作为后台的各大8信息系统的运行效率,该问题也即是如何对数据库的查询进行优化。因此,在此背景下,通过对市场占有率最多的关系型数据库进行探讨,来研究查询优化[1]。1关系数据库介绍1.1关系模型关系模型是美国IBM公司SanJose研究室的研究员E.F.Co

3、dd于1970年首次提出,而关系模式的诞生也开创了数据库关系方法和关系数据理论研究的历史。简言之,关系模型是一种由二维表形式表示实体和实体间关系的数据模型,它是在集合代数的基础上发展的。在关系模型中,一个关系就没有重复行和重复列的二维表,二维表的每一行在关系中称为元组,每一列在关系中称为属性。关系运算作为关系模型的核心,主要有并(∪)、交(—)、差(∩)、笛卡尔积(×)、连接()、投影(π)、选择()、除(÷)八种。1.2关系数据库根据所使用数据模型的不同,可以将数据库进行分类,因此基于关系模型的数据库就是关系数

4、据库。所谓关系数据库,其数据组织的逻辑结构一定是采用关系数据模型,即使用二维表格方式描述实体及其相互间的关系,然后把这种关系逻辑结构采用一定方式向物理结构映射,并存储在某种存储设备上的数据库。82数据查询过程关系数据库主要有查询、插入、删除和修改这四大常用操作,其中,查询是最主要、使用最频繁的操作。关系数据库管理系统对用户提交的查询操作进行处理的过程可以分为4个阶段:查询分析、查询检验、查询优化、查询执行[2]。在查询分析阶段,RDBMS对用户提交的查询语句进行扫描检查,进行词法分析和语法分析,主要检测用户提交的

5、查询语句是否满足SQL语句规范。接下来是查询检验阶段,尽管这时用户提交的查询语句已满足语法规定,但是还需要根据用户定义的数据字典进行语义合法性检查。主要检查语句中除了SQL语言之外的数据库对象是否真正存在。通过检查之后,RDBMS就将SQL查询语句转化成关系代数表达式。在查询执行前,还需要进行查询优化。在这一阶段,RDBMS会选择一个效率较高的查询策略。查询优化一般可以分成代数优化和物理优化,代数优化一般是通过改变代数表达式,用等价的、更高效的代数表达式替换当前表达式来提高查询效率;物理优化主要是通过对存取路径和

6、底层操作算法的选择来优化查询。最后的查询执行阶段,通过代码生成器执行查询代码,完成查询工作,返回查询结果。83数据库查询优化策略虽然在查询优化阶段系统会自动对查询进行一定的优化,但如果给数据库提交的查询语句过于糟糕,尽管经过优化,查询效率依旧会很低,所以应该从自身角度出发,对查询进行优化,进一步提高查询操作的效率。查询优化的方法有很多种,本文主要从两个大的方面出发:一是将查询语句的关系代数式用等价的、高效的代数表达式进行替换,也就是对关系表达式进行优化[3];二是采取一些可行的策略或方法让查询变得高效。3.1关系

7、表达式优化如果想要查询效率大幅度提高,对关系表达式进行代数变化和替换十分重要。如果关系代数式的运算顺序不当,虽然可以得到期望的结果,但是效率可能大打折扣。因此,需要根据关系代数表达式的等价变换规则,将已有关系表达式用更优的、等价的关系表达式来替代。经过总结,基于等价变换规则,总结出对关系表达式优化的主要规则有如下几条:(1)如果有选择运算,尽量先进行选择运算。因为这样可以提前排除数据中不满足条件的元组,从而使处理的数据量大大下降。8(2)如果存在不止一个选择运算或投影运算,尽量让这些运算一起进行。因为存在一些对同

8、一代数关系式进行操作的选择、投影运算,同时进行操作可以减少扫描相应表的次数,减少查询时间。(3)投影运算左右如果有其它双目运算,让投影运算与其结合起来同时执行。投影运算与其它双目运算结合起来,在连接过程中进行投影运算,这样可以避免投影时再扫描一次表。(4)将选择运算与它前面执行的笛卡尔积运算结合起来。选择运算与笛卡尔积结合,这样可以减少连接过程中记录的行数,加快连接速度。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。