您当前的位置: AG亚游集团 > 数据库教程 > Oracle教程 > Oracle 提高SQL执行效率的方法

Oracle 提高SQL执行效率的方法

作者:不详 来源:网络 发布时间: 2014-09-08 21:50 点击: 次
Oracle提供了多种方法用于减少花在剖析Oracle SQL表达式上的时间,在执行带有大量执行计划的复杂查询时剖析过程会拖累系统的性能。现在我们来简要地看看这些方法中的几种。 1、使用ordered提示 Oracle必须花费大量的时间来剖析多表格的合并,用以确定表格合并的最佳顺

AG亚游集团,  斯通去年年底和华府美利坚大学历史教授彼德·库兹尼克(Peter Kuznick)合着一本《从未透露的美国史》,为配合这本书的出版,他们又制作了一部10集(10小时)的纪录片。斯通日前去日本的主要目的就是向日本观众介绍这部纪录片。厚达750页的《从未透露的美国史》出版后,在美国书评界和媒体曾引发一阵议论,正统史家骂它歪曲历史,左翼史家赞扬它把美国的“脏史”挖出来见阳光,中立史家微批它但肯定其扩大美国人的历史视角。斯通和库兹尼克从一战开始,历数美国的一系列伪君子作风和言行不一致的外交政策,并严厉抨击美国大学和高中历史书籍充斥“自我感觉良好”的史笔。

  日本向菲律宾提供巡逻艇的消息已经传了近一年时间,日本政府对此一直予以否认。去年12月,菲律宾政府正式就该事向日本政府提出申请,希望日方提供10艘40米级巡逻艇。每艘船估计为十多亿日元。安倍上任后,于5月中旬向菲律宾派出由国际协力机构(JICA)的专家组成的调查团进行调研。预计调查团将在8月前了解菲方希望获得的,并商讨人才培养等运用层面的援助措施。开什么店比较有市场  同时,当地很多单位闻讯后,纷纷要求登船参观。据记者统计,一天时间里,先后有福建省渔政总队、宁德市海洋渔业局、霞浦县委县政府、三沙镇委镇政府、边防派出所、当地渔业协会等六家单位争先恐后到310船慰问参观,并热情地送上新鲜肉菜和水果。

Oracle 提高SQL执行效率的方法

  Oracle提供了多种方法用于减少花在剖析Oracle SQL表达式上的时间,在执行带有大量执行计划的复杂查询时剖析过程会拖累系统的性能。现在我们来简要地看看这些方法中的几种。

  1、使用ordered提示

  Oracle必须花费大量的时间来剖析多表格的合并,用以确定表格合并的最佳顺序。如果SQL表达式涉及七个乃至更多的表格合并,那么有时就会需要超过30分钟的时间来剖析,因为Oracle必须评估表格合并所有可能的顺序。八个表格就会有40,000多种顺序。Ordered这个提示(hint)和其他的提示一起使用能够产生合适的合并顺序。

  Ordered这个提示会要求列在SQL表达式FROM字句里的表格按照指定的顺序进行合并,FROM字句里的第一个表格会指定驱动表格(driving table)。驱动表格应该是返回最小行数的表格。使用ordered提示会跳过非常耗时和耗资源的剖析操作,并加快Oracle SQL的执行。

  Listing A如下:

  以下是引用片段:

  Listing A

  select /*+ ordered use_nl(bonus)

  parallel(e, 4) */ e.ename, hiredate, b.comm from emp e, bonus b

  where e.ename = b.ename ;

  Listing A里是一个复杂查询的例子,这个查询被强制进行一个嵌套循环,从而与对emp表格进行的并行查询合并。要注意,我已经使用ordered提示来引导Oracle去按照WHERE子句所列出的顺序来评估表格。

  2、使用theordered_predicates

  ordered_predicates提示在查询的WHERE子句里指定的,并被用来指定布尔判断(Boolean predicate)被评估的顺序。在没有ordered_predicates的情况下,Oracle会使用下面这些步骤来评估SQL判断的顺序:

  子查询的评估先于外层WHERE子句里的Boolean条件。

  所有没有内置函数或者子查询的布尔条件都按照其在WHERE子句里相反的顺序进行评估,即最后一条判断最先被评估。

  每个判断都带有内置函数的布尔判断都依据其预计的评估值按递增排列。

  你可以使用ordered_predicates提示来强制取代这些缺省的评估规则,那么你WHERE子句里的项目就会按照其在查询里出现的顺序被评估。在查询的WHERE子句里使用了PL/SQL函数的情况下,通常会使用ordered_predicates提示。如果你知道限制最多的判断并且希望Oracle最先评估这些判断的时候,在这种情况下,它也是非常有用的。用法提示:你不能使用ordered_predicates提示来保存对索引键进行判断评估的顺序。

  3、限制表格合并评估的数量

  提高SQL剖析性能的最后一种方法是强制取代Oracle的一个参数,这个参数控制着在评估一个查询的时候,基于消耗的优化器所评估的可能合并数量。

  optimizer_search_limit这个参数会指定表格合并组合的最大数量,后者将会在Oracle试图确定合并多表格最佳方式的时候被评估。这个参数有助于防止优化器花更多的时间来评估可能的合并顺序,而不是把时间花在寻找最佳合并顺序上。optimizer_search_limit还控制着用于调用star join提示的阙值,当查询里的表格数量低于optimizer_search_limit(其缺省的值是5)的时候,star提示就会被光顾。
分享到:
本文"Oracle 提高SQL执行效率的方法"由远航站长收集整理而来,仅供大家学习与参考使用。更多AG亚游集团尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 广告合作 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(AG亚游集团). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类AG亚游集团.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4
单局13-25!中国女排0-3韩国 北仑站仍冠军收官 容克用卡片向特朗普解释贸易 网友吐槽美总统智商 十二届全国人大常委会加强人大工作和建设纪实 她花9万整容后毁容 院方:9个月谁知是不是被打过 湖南新化教育局“腾楼当教室”引热议 教育部回应 俄官员:美军在叙有20座基地 武装反对派阻碍和平 盘点:扎克伯格的智囊团能否帮助他走出至暗时刻? 从8848到小罐茶 杜国楹能不能摘掉“营销大师”帽子 “世界最古老漂流瓶”终于上岸 已漂132年(图) 中国进入两会时间 世界窥探中国轨迹窗口期又到来 北控高层:我们并不是没有目标 每场都打出精神 李大霄:香港允许同股不同权公司上市是一个重大进步
外媒:下代高通可穿戴芯片将支持眼球追踪 申花致歉球迷:对不起所有球迷 铭记在心痛定思痛 日媒:东芝存储器因无法通过中国审查而取消出售 叶挺故乡发声明谴责暴走漫画:侮辱将军 愤慨极大 叫板马斯克?中国首枚民营商业火箭首飞成功(图) 人民日报谈“北斗地图App”:少拿高科技当名头搞忽悠 八六证券:股价回调给投资者买入新浪微博股票带良机 黄紫昌强势受多方点赞:小子有拼劲儿 未来会更强 四川人口信息系统故障 明起全省户政业务暂停办理 NBA18年全明星首发公布 詹姆斯库里担任东西部队长 北方多地骤然降温 专家:再现2008年冰灾几率小 欧冠夺冠赔率:曼城高居第一 巴萨第二皇马第三
图解专栏-詹姆斯身边的那个男人,吐槽你两件事 险遭罚!阿奇姆彭赛后沮丧躺倒 差点忘和裁判握手 中非:联合国车队遇袭 一名维和部队成员死亡 疫苗不再需低温保存?科学家研发出金属有机框架疫苗 中青报评全面二孩后出生率反降:光靠政策是不够的 “漂白”皮肤危害大 这些女性为何执迷不悟 日本前首相称希望日朝首脑会谈 安倍要求维持施压 叙利亚遭空袭启示:如何打赢“巡航导弹战争” 谷歌AI助手能像真人一样打电话?美媒:可能是假的 适合女生职业的排行榜 未来10年最赚钱行业 最近开什么店比较好 养殖什么不愁销路 AG亚游集团