承接国内外服务器租用托管、定制开发、网站代运营、网站seo优化托管接单、网站代更新,新老站点皆可!!咨询QQ:3787320601

【基础】oracle 履行计划研究display_cursor format

管理员 2023-09-25 08:30:52 互联网圈 0 ℃ 0 评论 1926字 收藏

【基础】oracle 履行计划研究display_cursor format

— 使用ALL 来显示解释计划的全部信息

explain plan for select xxxxxx;
select * from table(dbms_xplan.display(format=>’ALL’));

— 去除履行计划上的字节数和本钱统计信息

explain plan for select xxxxxx;

select * from table(dbms_xplan.display_cursor(null,null,format=>’ALLSTATS LAST -COST -BYTES’));

使用all 与advanced 显示全部或高级的履行计划
(1) select * from table(dbms_xplan.display_cursor(null, null, ‘all’));
(2) select * from table(dbms_xplan.display_cursor(null, null, ‘advanced’));
(3) select * from table(dbms_xplan.display_cursor(‘sql_id/hash_value’,child_cursor_number, ‘advanced’));

(2)和(3)的条件则是SQL 的履行计划还在同享池中,具体讲是在库缓存中。如果已被age out 交换出同享池,则不能用这两种方法了主要用于SQLPLUS 中查看刚履行过SQL 的履行计划。

接下来,第三个参数使用’all’:
select * from table(dbms_xplan.display_cursor(null, null, ‘all’));

Outline Data 主要是履行SQL 时用于固定履行计划的内部HINT 组合,可以将这部份内容摘出来加到目标SQL 中以固定其履行计划。

查看多条履行计划
select * from table(dbms_xplan.display_cursor(‘sql_id/hash_value’,child_cursor_number, ‘advanced’));
select * from table(dbms_xplan.display_cursor(‘sql_id/hash_value’,child_cursor_number));
select sql_text,sql_id,hash_value,child_number from v$sql where sql_text like ‘select xxxxxx%’
select * from table(dbms_xplan.display_cursor(‘bszr0z8uhc948’, 1));
select * from table(dbms_xplan.display_cursor(‘889595016’, 0));

文章来源:丸子建站

文章标题:【基础】oracle 履行计划研究display_cursor format

https://www.wanzijz.com/view/89498.html

相关文章

Related articles

X

截屏,微信识别二维码

微信号:weimawl

(点击微信号复制,添加好友)

打开微信