欢迎光临重庆协创IT国际认证中心!

收藏本站 .网站地图 .联系我们

20年认证人才培训品牌

咨询热线:

023-65111115
023-65111116
  • 重庆协创教育
  • 协创教育_IT培训
  • 协创教育_国际认证
  • previous
  • next
您所在的位置:首页 > 文章集萃

Oracle提高的三种方法

2013-11-11
投稿人:admin

  重庆协创教育培训告诉您要行进SQL在Oracle里的实施功率,优化运用的事务逻辑是最主要的,从技能层面来讲Oracle也供给了一些方法,今日主要讲3种:

  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提示就会被莅临。


您的评论

评论者: 请填写您的姓名,方便我们联系您
评论内容:
请填写您的评论内容, 内容不能超过200字哟!有您的支持,是我们不断前进的动力,感谢您的支持!
  
相关评论更多
Copyright: Chongqing Co-Founder of Network Technology Education Center (c) 2005-2021 All Rights
版权所有:重庆协创IT国际认证中心(c)2005-2011 All Rights 网站备案号:渝ICP备17014127号-1
地址:重庆市沙坪坝区小龙坎新街86号嘉多利广场11-7     联系电话:023-65111115   023-65111116
站长统计 技术支持:重庆网络推广专家