设为首页 收藏本站
查看: 596|回复: 0

[经验分享] 测试Oracle 11g 固定执行计划-Baseline

[复制链接]

尚未签到

发表于 2016-7-27 10:35:12 | 显示全部楼层 |阅读模式
DSC0000.jpg

一,选定sql_id

SQL> pagesize 300  
SQL> set linesize 300  
SQL> set autotrace on  
SQL> var name varchar2(10);  
SQL> exec :name :='IT';  
select department_name  
from hr.departments dept  
where department_id in (select department_id from hr.employees emp)  
and department_name=:name;  
  
DEPARTMENT_NAME  
------------------------------  
IT  
  
1 rows selected.  
  
Execution Plan  
----------------------------------------------------------  
Plan hash value: 2605691773  
  
----------------------------------------------------------------------------------------  
| Id  | Operation          | Name              | Rows  | Bytes | Cost (%CPU)| Time     |  
----------------------------------------------------------------------------------------  
|   0 | SELECT STATEMENT   |                   |     1 |    19 |     3   (0)| 00:00:01 |  
|   1 |  NESTED LOOPS SEMI |                   |     1 |    19 |     3   (0)| 00:00:01 |  
|*  2 |   TABLE ACCESS FULL| DEPARTMENTS       |     1 |    16 |     3   (0)| 00:00:01 |  
|*  3 |   INDEX RANGE SCAN | EMP_DEPARTMENT_IX |    41 |   123 |     0   (0)| 00:00:01 |  
----------------------------------------------------------------------------------------  
  
Predicate Information (identified by operation id):  
---------------------------------------------------  
  
   2 - filter("DEPARTMENT_NAME"=:NAME)  
   3 - access("DEPARTMENT_ID"="DEPARTMENT_ID")  
  
SQL> select sql_id from v$sql where sql_fulltext like'select department_name%';  
SQL_ID  
-------------  
bd8mzf35svfm3  
上面的sql现在的执行计划是情况,假设如上的执行计划效率底下,我们想用其它的执行计划(全表扫描emp)来代替它,并用oracle 11g中的sql plan baseline来固定次SQL的执行。

二,添加Hint的sql:

select department_name  
from hr.departments dept  
where department_id in (select/*+FULL(emp)*/ department_id from hr.employees emp)  
and department_name=:name;  
Execution Plan  
----------------------------------------------------------  
Plan hash value: 2317224448  
  
----------------------------------------------------------------------------------  
| Id  | Operation          | Name        | Rows  | Bytes | Cost (%CPU)| Time     |  
----------------------------------------------------------------------------------  
|   0 | SELECT STATEMENT   |             |     1 |    19 |     7  (15)| 00:00:01 |  
|*  1 |  HASH JOIN SEMI    |             |     1 |    19 |     7  (15)| 00:00:01 |  
|*  2 |   TABLE ACCESS FULL| DEPARTMENTS |     1 |    16 |     3   (0)| 00:00:01 |  
|   3 |   TABLE ACCESS FULL| EMPLOYEES   |   107 |   321 |     3   (0)| 00:00:01 |  
----------------------------------------------------------------------------------  
  
Predicate Information (identified by operation id):  
---------------------------------------------------  
  
   1 - access("DEPARTMENT_ID"="DEPARTMENT_ID")  
   2 - filter("DEPARTMENT_NAME"=:NAME)  
  
  
SQL> select sql_id from v$sql_plan where plan_hash_value=2317224448;  
  
SQL_ID  
-------------  
5kuqnnugsrhj3  
  
此计划sql_id:5kuqnnugsrhj3 hash_value:2317224448

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-250156-1-1.html 上篇帖子: Oracle 行转列 的写法 下篇帖子: 64位Ubuntu12.04 安装 Oracle Java7
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表