简介Oracle INDEX提示
创始人
2024-06-11 18:31:04
0

Oracle还是比较常用的,于是我研究了一下Oracle INDEX提示,当使用hints时,在某些情况下,为了确保让优化器产生***的执行计划,我们可能指定全套的hints,在这里拿出来和大家分享一下,希望对大家有用。

例如,如果有一个复杂的查询,包含多个表连接,如果你只为某个表指定了Oracle INDEX提示(指示存取路径在该表上使用索引),优化器需要来决定其它应该使用的访问路径和相应的连接方法。因此,即使你给出了一个Oracle INDEX提示,优化器可能觉得没有必要使用该提示。这是由于我们让优化器选择了其它连接方法和存取路径,而基于这些连接方法和存取路径,优化器认为用户给出的Oracle INDEX提示无用。为了防止这种情况,我们要使用全套的hints,如:不但指定要使用的索引,而且也指定连接的方法与连接的顺序等。

下面是一个使用全套hints的例子,ORDERED提示指出了连接的顺序,而且为不同的表指定了连接方法:

  1. SELECT /*+ ORDERED INDEX (b, jl_br_balances_n1) USE_NL (j b)  
  2. USE_NL (glcc glf) USE_MERGE (gp gsb) */  
  3. b.application_id, b.set_of_books_id ,  
  4. b.personnel_id, p.vendor_id Personnel,  
  5. p.segment1 PersonnelNumber, p.vendor_name Name  
  6. FROM jl_br_journals j, jl_br_balances b,  
  7. gl_code_combinations glcc, fnd_flex_values_vl glf,  
  8. gl_periods gp, gl_sets_of_books gsb, po_vendors p  
  9. WHERE ... 

指示优化器的方法与目标的hints:

  1. ALL_ROWS -- 基于代价的优化器,以吞吐量为目标  
  2. FIRST_ROWS(n) -- 基于代价的优化器,以响应时间为目标  
  3. CHOOSE -- 根据是否有统计信息,选择不同的优化器  
  4. RULE -- 使用基于规则的优化器 

例子:

  1. SELECT /*+ FIRST_ROWS(10) */ employee_id, last_name, salary, job_id  
  2. FROM employees  
  3. WHERE department_id = 20;  
  4. SELECT /*+ CHOOSE */ employee_id, last_name, salary, job_id  
  5. FROM employees  
  6. WHERE employee_id = 7566;  
  7. SELECT /*+ RULE */ employee_id, last_name, salary, job_id  
  8. FROM employees  
  9. WHERE employee_id = 7566

【编辑推荐】

  1. 讨论Oracle文档学习经验
  2. 如何了解Oracle生成执行计划
  3. 详细谈论Oracle表连接
  4. 分析Oracle索引扫描四大类
  5. 高手闲谈Oracle索引扫描

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...