格式化v$sql_plan查看实际执行计划
2012-12-17 19:48
302 查看
1、先去v$session_longops查看正在执行的6秒以上的session
SELECT * FROM V$SESSION_LONGOPS t WHERE sofar<> totalwork --未执行完的;
2、通过以下sql对实际执行过的执行计划进行格式化
SELECT LPAD(' ', 2 * (LEVEL - 1)) || OPERATION || ' ' ||
DECODE(ID, 0, 'Cost = ' || POSITION) "OPERATION",
OPTIONS,
OBJECT_NAME,
COST,
CARDINALITY,
CPU_COST,
IO_COST/*,
ACCESS_PREDICATES,
FILTER_PREDICATES*/
FROM V$SQL_PLAN
START WITH (ADDRESS = '0000000459AE0110' AND HASH_VALUE = 2236084057
/*and child_number = :child*/
AND ID = 0)
CONNECT BY PRIOR ID = PARENT_ID
AND PRIOR ADDRESS = ADDRESS
AND PRIOR HASH_VALUE = HASH_VALUE
AND PRIOR CHILD_NUMBER = CHILD_NUMBER
ORDER BY ID, POSITION;
SELECT * FROM V$SESSION_LONGOPS t WHERE sofar<> totalwork --未执行完的;
2、通过以下sql对实际执行过的执行计划进行格式化
SELECT LPAD(' ', 2 * (LEVEL - 1)) || OPERATION || ' ' ||
DECODE(ID, 0, 'Cost = ' || POSITION) "OPERATION",
OPTIONS,
OBJECT_NAME,
COST,
CARDINALITY,
CPU_COST,
IO_COST/*,
ACCESS_PREDICATES,
FILTER_PREDICATES*/
FROM V$SQL_PLAN
START WITH (ADDRESS = '0000000459AE0110' AND HASH_VALUE = 2236084057
/*and child_number = :child*/
AND ID = 0)
CONNECT BY PRIOR ID = PARENT_ID
AND PRIOR ADDRESS = ADDRESS
AND PRIOR HASH_VALUE = HASH_VALUE
AND PRIOR CHILD_NUMBER = CHILD_NUMBER
ORDER BY ID, POSITION;
相关文章推荐
- v$sql_plan看到不执行计划
- TOAD中查看SQL的执行计划(Explain Plan)
- [Oracle]如何查看SQL的执行计划 - DBMS_XPLAN Package
- Oracle如何查看SQL实际执行计划
- 查看sql语句的执行时间及缓存执行计划
- Oracle SQL执行计划基线总结(SQL Plan Baseline)
- 查看SQL的执行计划
- v$sql——存储的是具体的SQL语句和执行计划相关信息!
- 【Explain Plan】查看SQL的执行计划
- [转]使用mysql profiles 来查看sql 语句执行计划
- Oracle查看SQL执行计划的方式
- 在查询分析器中查看Sql语句执行计划
- 【Explain Plan】查看SQL的执行计划
- PostgreSQL SQL的性能调试方法3--查看执行计划
- Oracle ->> Oracle下查看实际执行计划的方法
- oracle 学习笔记 - 查看 SQL 执行计划
- 【总结】Oracle查看SQL执行计划和运行效率指标的方法
- Oracle数据库查看一个进程是如何执行相关的实际SQL语句
- 如何查看oracle sql执行计划
- 查看已经执行过的sql的执行计划