ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Oracle SQL的执行效率

Oracle SQL的执行效率

原创 Linux操作系统 作者:os-ora 时间:2010-11-18 17:51:25 0 删除 编辑
使用ordered提示

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

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

Listing A如下:

以下是引用片段:

  1. Listing A  
  2. select /*+ ordered use_nl(bonus)  
  3. parallel(e, 4) */ e.ename, hiredate, b.comm from emp e, bonus b  
  4. where e.ename = b.ename ;  

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

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/16566331/viewspace-678461/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 常用日期格式
请登录后发表评论 登录
全部评论

注册时间:2010-01-12

  • 博文量
    148
  • 访问量
    410400