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

Oracle 提高SQL执行效率的方法

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

AG亚游集团,据《纽约时报》报道,共和党中的强硬派、阿肯色州参议员柯隆为特朗普“对中国土地上唯一的民主重申了我们的承诺”叫好。更多的议员则对特朗普随心所欲的行为可能导致的后果表示担忧。报道称,康涅狄格州参议员、参议院外交关系委员会成员墨菲在飞机上得知了电话一事,他匆忙发出推文:“这些事情是外交政策中未经计划的重大转向。战争就是这么引发的”。报道说,3日白宫接到多个亚洲国家的来电,对特朗普与蔡英文打电话一事表示忧虑。

  著名营销大师科特勒为服务产品总结出四个特点:无形性、不可分割性、可变性和易消失性。其中,可变性给通信服务质量管理带来最大挑战,即质量依赖于何时、何地以及谁提供服务。例如,春节是老百姓欢庆的日子,也是通信公司最紧张忙碌的时候,春节期间国内的话务量经常达到一年中话务量的峰值,年三十晚上的拜年短信和电话高潮不仅考验着通信企业在全国范围内全程全网的网络服务质量,也考验着通信业务服务的功能、种类和实用性,更考验着全国通信企业每位值班员工的和态度。也许就是这一晚一瞬间的使用感受,决定了顾客对通信服务质量全部的评价,而不是一年中其它的哪一天。2017做什么生意有前景杨宇军表示,宫古海峡是公认的国际航道,中国空军此次远海训练是年度计划内的例行性安排,不针对任何特定国家和目标,符合相关国际法和国际实践。日本军机的行为是危险的、不专业的,破坏了国际法赋予的航行和飞越自由。中方对此表示严重关切并提出严正交涉。需要指出的是,近年来日本舰机的多次干扰活动极易导致误解误判,引发海空摩擦甚至冲突。我们敦促日方从维护地区稳定和中日关系大局出发,切实采取有效措施,防止发生海空安全问题。

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
徐建任安徽省人社厅党组书记 白金明不再担任(图) 陕西省商洛市政协原主席王甲训等2人被处分 美油升破70美元页岩油厂商已赚翻?小心引爆油价下跌 马丁66杆领先亚太精英赛首轮 杨伊农刘晏玮T2 米克尔:以愚蠢方式输掉比赛 前半段赛程可以接受 特朗普指责中国“操纵”人民币贬值 被一报告打脸 兴业投资:加央行鸽派加息 加元盘中巨震收跌 林丹炮轰国际羽联新规:训练30年 如今不会发球了 年轻妈妈躲进办公桌下做这事 背后这幕太心酸 环球时报社评:中美贸易战不会很容易得到解决 外媒:俄营销公司为世界杯举办地餐馆“刷好评” 3.4亿!曝C罗将为尤文增巨额收益 他就是摇钱树
韦世豪一脚乌龙将国安踢回解放前 间接帮助老东家 特朗普上任1周年:全球对美领导力满意度大跌近20% 王毅记者会上金句频出 面对犀利提问见招拆招 央视:上港下半场换人立竿见影 胡尔克当队长变化大 生态环境部:严打长江沿岸固体废物非法转移倾倒 印度古吉拉特邦发生交通事故19人死亡 史上最年长官兔诞生!74岁老人领跑银川马拉松 “爱心妈妈”李利娟的红与黑:看守所中坚称无罪 夏季苦练为秋冬天积蓄能量 夏练三伏的十大法则 上海市领导会见拼多多黄峥 祝贺上海新经济代表上市 名宿揭奥巴梅扬低迷原因:被阿森纳迷茫气氛影响 研究称手机不离手实际是对社交互动上瘾 而非厌恶
女子最强战於之莹击败谢依旻 半决赛将战崔精 韩称将中止对美部分产品关税减让 最晚2021年实施 卡罗520深情表白大连:把所有的热情和关切都给了这 欧巡比利时淘汰赛64人闯关成功 吴阿顺被淘汰出局 北京今高温持续夜有雷雨 6日前最高温均不下34℃ 拆分加州提案遭法院拒绝 美国为这事争了160多年 第9届中国龙星战预选U20组首轮对阵 丁世雄VS黄静远 维也纳现连环持刀伤人案 疑犯否认有政治动机 曼城旧将:别质疑穆里尼奥 他的神性远大于魔性 女人没经验开什么店好 怎么在家里挣钱 加盟店排行榜 女生适合开什么店 AG亚游集团