sys用户下:SQL> alter system flush shared_pool;
SQL> alter system flush buffer_cache;
SQL> select b.owner,b.object_name,sum(a.tch) acc_time
2 from x$bh a,dba_objects b
3 where a.obj=b.object_id
4 And b.owner='MOE'
5 And b.object_name='MOE'
6 group by b.owner,b.object_name
7 order by acc_time desc;
OWNER OBJECT_NAM ACC_TIME
------------------------------ ---------- ----------
MOE MOE 0
moe用户下:explain plan for select * from moe;
sys用户下:SQL> select b.owner,b.object_name,sum(a.tch) acc_time
2 from x$bh a,dba_objects b
3 where a.obj=b.object_id
4 And b.owner='MOE'
5 And b.object_name='MOE'
6 group by b.owner,b.object_name
7 order by acc_time desc;
OWNER OBJECT_NAM ACC_TIME
------------------------------ ---------- ----------
MOE MOE 6
SQL> select sql_text,executions,parse_calls from v$sqlarea where sql_text like '%select * from moe%';
SQL_TEXT EXECUTIONS PARSE_CALLS
-------------------------------------------------------------------------------- ---------- -----------
select sql_text,executions,parse_calls from v$sqlarea where sql_text like '%sel 1 1
explain plan for select * from moe 1 1
使用explain plan for查询执行计划时,解析的语句是explain plan for xxxxxxxx
后面的xxxxxxxx语句并不真正执行,但是在解析过程中需要相关信息(统计信息或是动态采样)
DML测试如下:
sys:SQL> alter system flush shared_pool;
SQL> alter system flush buffer_cache;
SQL> select b.owner,b.object_name,sum(a.tch) acc_time
2 from x$bh a,dba_objects b
3 where a.obj=b.object_id
4 And b.owner='MOE'
5 And b.object_name='MOE'
6 group by b.owner,b.object_name
7 order by acc_time desc;
OWNER OBJECT_NAM ACC_TIME
------------------------------ ---------- ----------
MOE MOE 0
moe:explain plan for insert into moe select * from moe;
sys:SQL> select b.owner,b.object_name,sum(a.tch) acc_time
2 from x$bh a,dba_objects b
3 where a.obj=b.object_id
4 And b.owner='MOE'
5 And b.object_name='MOE'
6 group by b.owner,b.object_name
7 order by acc_time desc;
OWNER OBJECT_NAM ACC_TIME
------------------------------ ---------- ----------
MOE MOE 8
SQL> select sql_text,executions,parse_calls from v$sqlarea where sql_text like '%select * from moe%';
SQL_TEXT EXECUTIONS PARSE_CALLS
-------------------------------------------------------------------------------- ---------- -----------
select sql_text,executions,parse_calls from v$sqlarea where sql_text like '%sel 1 1
explain plan for insert into moe select * from moe 1 1