- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
关系数据库查询优化策略探究
关系数据库查询优化策略探究 摘 要:作为数据的承载平台,数据库在各行各业都得到了广泛应用。查询操作是数据库管理系统最重要的功能之一,使用频率最高。以关系型数据库为基础,从不同的角度出发,对数据库查询优化
策略进行了研究。
关键词关键词:关系数据库;数据查询;查询优化
中图分类号:TP392 文献标识码:A 文章编号文章编号2013)008011102
作者简介作者简介:郭威(1993-),男,中南财经政法大学信息与安全工程学院学生,研究方向为信息系统。
0 引言
随着社会经济的不断发展,人们已经进入了一个信息爆炸的时代,随之而来的则是大量数据的存储与操作。如今,数据库管理系统已经深入到各行各业,具有代表性的是银行、证券行业。存储
在数据库里的数据存在巨大价值,对这些数据最频繁的操作就是查询。如何从数据库里存储的海量数据中以最快的速度找到想要的数据,直接关系到以数据库服务器作为后台的各大
信息系统的运行效率,该问题也即是如何对数据库的查询进行优化。因此,在此背景下,通过对市场占有率最多的关系型数据库进行探讨,来研究查询优化[1]。
1 关系数据库介绍
1.1 关系模型
关系模型是美国IBM公司San Jose研究室的研究员E.F.Codd于1970年首次提出,而关系模式的诞生也开创了数据库关系方法和关系数据理论研究的历史。简言之,关系模型是一种由二维表形式表示实体和实体间关系的数据模型,它是在集合代数的基础上发展的。在关系模型中,一个关系就没有重复行和重复列的二维表,二维表的每一行在关系中称为元组,每一列在关系中称为属性。关系运算作为关系模型的核心,主要有并(∪)、交(—)、差
(∩)、笛卡尔积(×)、连接()、投影(π)、选择()、除(÷)八种。
1.2 关系数据库
根据所使用数据模型的不同,可以将数据库进行分类,因此基于关系模型的数据库就是关系数据库。所谓关系数据库,其数据组织的逻辑结构一定是采用关系数据模型,即使用二维表格方式描
述实体及其相互间的关系,然后把这种关系逻辑结构采用一定方式向物理结构映射,并存储在某种存储设备上的数据库。
2 数据查询过程
关系数据库主要有查询、插入、删除和修改这四大常用操作,其中,查询是最主要、使用最频繁的操作。关系数据库管理系统对用户提交的查询操作进行处理的过程可以分为4个阶段:查询分析、查询检验、查询优化、查询执行[2]。
在查询分析阶段,RDBMS对用户提交的查询语句进行扫描检查,进行词法分析和语法分析,主要检测用户提交的查询语句是否满足SQL语句规范。
接下来是查询检验阶段,尽管这时用户提交的查询语句已满足语法规定,但是还需要根据用户定义的数据字典进行语义合法性检查。主要检查语句中除了SQL语言之外的数据库对象是否真正存在。通过检查之后,RDBMS就将SQL查询语句转化成关系代数表达式。
在查询执行前,还需要进行查询优化。在这一阶段,RDBMS会选择一个效率较高的查询策略。查询优化一般可以分成代数优化和物理优化,代数优化一般是通过改变代数表达式,用等价的、更高效的代数表达式替换当前表达式来提高查询效率;物理优化主要是通过对存取路径和底层操作算法的选择来优化查询。
最后的查询执行阶段,通过代码生成器执行查询代码,完成查询工作,返回查询结果。
3 数据库查询优化策略
虽然在查询优化阶段系统会自动对查询进行一定的优化,但如果给数据库提交的查询语句过于糟糕,尽管经过优化,查询效率依旧会很低,所以应该从自身角度出发,对查询进行优化,进一步提高查询操作的效率。
查询优化的方法有很多种,本文主要从两个大的方面出发:一是将查询语句的关系代数式用等价的、高效的代数表达式进行替换,也就是对关系表达式进行优化[3];二是采取一些可行的策略或方法让查询变得高效。
3.1 关系表达式优化
如果想要查询效率大幅度提高,对关系表达式进行代数变化和替换十分重要。如果关系代数式的运算顺序不当,虽然可以得到期望的结果,但是效率可能大打折扣。因此,需要根据关系代数表达式的等价变换规则,将已有关系表达式用更优的、等价的关系表达式来替代。
经过总结,基于等价变换规则,总结出对关系表达式优化的主要规则有如下几条:
(1)如果有选择运算,尽量先进行选择运算。因为这样可以提前排除数据中不满足条件的元组,从而使处理的数据量大大下降。
(2)如果存在不止一个选择运算或投影运算,尽量让这些运算一起进行。因为存在一些对同一代数关系式进行操作的选择、投影运算,同时进行操作可以减少扫描相应表的次数,减少查询时间。
(3)投影运算左右如果有其它
文档评论(0)