- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Oracle数据库查询优化的方法的研究
Oracle数据库查询优化的方法的研究
摘 要
Oracle数据库是当前应用最广泛的大型数据库之一。为了提高Oracle数据库查询效率,本文通过分析Oracle处理查询语句的过程以及优化器的工作原理,结合实例,讨论了Oracle数据库查询优化的多种有效方法。
【关键词】Oracle数据库 查询优化 研究
Oracle数据库因其大空间的数据储存以及多用户高性能的特点被大型企业所应用。就Oracle数据库而言,其工作性能高低主要取决于查询操作,因此对Oracle数据库查询操作进行研究有着极大的现实意义。
1 Oracle数据库查询
Oracle数据库的查询过程,主要由查询语句解析、执行和数据提取三个阶段组成。在查询操作进行时,SQL语言负责着Oracle数据库应用系统与数据库之间的通信沟通,执行用户在数据库管理系统内进行SQL语句的提交工作,实现Oracle数据库查询操作。以下分别对解析、执行和数据提取三个阶段进行分析。
1.1 解析
就解析阶段的主要工作而言,笼统可以定性为审核。当SQL语句被执行用户提交后,Oracle数据库查询则进入了解析阶段,对SQL语句的语法和语义进行规范化的解析,生成语句所对应的执行计划,并与SQL语句一同储放在共享池中。随后,搜索库对数据库缓存进行告诉检查搜索,如果存在相同的SQL语句,则可立即执行该SQL语句。
1.2 执行
就执行(Execute)阶段的工作而言,主要是在服务器进程中对SQL语句的执行计划进行执行,其中执行计划包含的是Oracle查询操作中所需要进行的一系列工作,比如数据表的访问方式、数据表的连接次序以及连接方式,同时还要对各个步骤的执行顺序进行执行准备。
1.3 数据提取
数据提取作为Oracle数据库查询工作的最后一步,同时也是最简单直接的一步,主要是对被选中的数据进行客户端返回处理。
2 Oracle优化器工作原理
Oracle优化器有两种类型,一种是以成本为基础的CostBased优化器,还有一种是以规则为基础的RuleBased优化器。两种具有不同基准的Oracle优化器有着不同的工作原理,其中CostBased优化器更注重于执行计划的成本降低,因此CostBased优化器在进行SQL语句最佳执行计划生成时,往往会选择成本最低的执行计划。在进行成本高低判断时,CostBased优化器对每一个执行计划的I/O代价、CPU代价、Network代价进行具体分析,并将每一个执行计划的开销进行对比,从而确定SQL语句的最佳执行计划。以规则为基础的RuleBased优化器,与CostBased优化器相比,更具有规范化以及便捷性。
3 Oracle数据库查询优化
3.1 建立有效的索引
在进行优化时,首先应该考虑的就是建立一系列的有效索引,索引的建立不仅可以加快Oracle数据库的查询速度,还能在一定程度上降低I/O操作的失误率,同时也有利于磁盘排序消除工作的完成。但是索引是要在一定的条件下才可以进行建立的,比如:需要常常连接却没有指定的外键,进行索引建立是最好的选择;当某列经常有排序、分组操作时,建立索引是必要的;当条件表达式中出现较多的不同数值时,需要对不同值少的列上进行索引建立;针对有的列上会出现多个待排序情况时,复合索引的建立是极为有效的。
从某种意义上来说,索引在一定程度上具有降低I/O竞争力的作用,但要想真正实现这一目的,就要严格要求索引的建立必须不能和用户表在同一空间。其中索引的类型有着以下几种区别:完全索引、分区索引、位图索引等。因此,在进行索引建立前,要对所需建立索引的种类进行严格筛选,只有这样才能真正完成索引的选择性测量工作。
测量索引的选择性的语句为:
Select count(distinct userid‖’%’‖username‖’%’‖Password)from uesrinfo;
COUNT(DISTINCT USERDI’%’‖UlSERNAME‖`%`‖PASSWORD)
104000
Select count(*)from userinfo
COUNT
104000
从上面的结果,可以看出该索引的选择性良好,而且高达1.0.
3.2 优化表达式
在进行范围查询时,输入“LIKE”关键词进行索引,会出现耗时极多的现象,因此在进行优化表达式时,要尽量避免“LIKE”关键词的出现以及使用。就优化方式而言,可以选择通配符%的使用,这样可以在一定程度上避免Oracle系统中oil-id索引的使用。
3.3 Order by语句
Order by语句不仅对Oracle查询结果的排序
您可能关注的文档
最近下载
- 隧道帷幕注浆监理实施细则(王开发2016.04).doc VIP
- 基层医疗卫生机构常见新生儿疾病诊疗专家共识:新生儿低血糖症(2025年).pptx VIP
- 彩板安装施工方案.doc VIP
- 彩板安装施工方案.pdf VIP
- 彩板安装专项施工方案.docx VIP
- “皖江名校联盟”2025-2026学年高三12月质量检测语文试卷(含答案详解).docx
- 示范性院校重点建设专业(群)计算机应用技术专业及专业群建设项目建设方案.doc VIP
- 20192020部编版九年级语文上册期末必考古诗词默写.docx
- 智茂GAM330 GAM320编程基本操作.ppt VIP
- 钢结构金属屋面板反吊板安装施工挂篮.pdf VIP
原创力文档


文档评论(0)