从书上看来的看执行计划的方法,据说比explain plan准确

[复制链接]
查看11 | 回复4 | 2012-5-21 10:19:41 | 显示全部楼层 |阅读模式
Expert Oracle Practices p134
SQL> create table tcube as select g1,g2,g3,sum(v1)s1,count(v1)c1,grouping_id(g1,g2,g3)gid from t group by cube(g1,g2,g3);
表已创建。
已用时间:00: 00: 03.72
SQL> select * from table(dbms_xplan.display_cursor(null,null,'ALLSTATS LAST+PEEKED_BINDS -ROWS'));
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------------------------------------------------
SQL_ID238m88kmd5xkx, child number 2
-------------------------------------
create table tcube as select g1,g2,g3,sum(v1)s1,count(v1)c1,grouping_id(
g1,g2,g3)gid from t group by cube(g1,g2,g3)
Plan hash value: 1684350304
------------------------------------------------------------------
| Id| Operation
| Name |OMem |1Mem | Used-Mem |
------------------------------------------------------------------
| 0 | CREATE TABLE STATEMENT || | |
|
| 1 |LOAD AS SELECT|| 525K| 525K|525K (0)|
| 2 | SORT GROUP BY||60M|2869K| 53M (0)|
| 3 |GENERATE CUBE || | |
|
| 4 | SORT GROUP BY||8912K|1165K| 7921K (0)|
| 5 |TABLE ACCESS FULL | T| | |
|
------------------------------------------------------------------
Note
-----
- Warning: basic plan statistics not available. These are only collected when:
* hint 'gather_plan_statistics' is used for the statement or
* parameter 'statistics_level' is set to 'ALL', at session or system level

已选择24行。
已用时间:00: 00: 00.04
SQL>
回复

使用道具 举报

千问 | 2012-5-21 10:19:41 | 显示全部楼层
能具体解释一下吗?
回复

使用道具 举报

千问 | 2012-5-21 10:19:41 | 显示全部楼层
哦?回头得看看。我光知道用SQL_TRACE会更准。
他用了PEEKED_BINDS,如果有绑定变量要怎么提供?
回复

使用道具 举报

千问 | 2012-5-21 10:19:41 | 显示全部楼层
明白了,原来是把已经执行过的SQL从共享池找出来。确实很方便。
回复

使用道具 举报

千问 | 2012-5-21 10:19:41 | 显示全部楼层
收藏備用,Thanks
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行