码迷,mamicode.com
首页 > 数据库 > 详细

有多少办法可以查看一个Oracle SQL语句的执行计划 - SQL EXECUTE PLAN

时间:2016-05-09 12:36:36      阅读:1197      评论:0      收藏:0      [点我收藏+]

标签:

待补充,如果要做一个SQL自动审核工具,从哪里可以下手?

1、通过SQL*PLUS工具里的EXPLAIN PLAN FOR判断,利用DBMS_XPLAN.DISPLAY显示。

2、通过SQL*PLUS工具里的 SET AUTOTRACE命令显示

3、SQL_TRACE,在数据库全局(有性能问题,基本上是废的选项),或者对当前Session定义SQL_TRACE,或者利用DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSION获取其他Session的SQL_TRACE。利用TKPROF解析trace文件读取执行计划。

4、利用10046 TRACEFILE_IDENTIFIER事件获取

5、SQLT工具,根据SQL_ID进入数据库获取围绕这个SQL的非常详细的执行计划、统计数据、子游标等相关信息。

6、PL/SQL Developer, TOAD 等工具(他们的数据是哪来的?准确吗?)

7、V$视图,如下:

SELECT * FROM V$SQL_PLAN

SELECT * FROM V$RSRC_PLAN_CPU_MTH

SELECT * FROM V$SQL_PLAN_STATISTICS

SELECT * FROM V$SQL_PLAN_STATISTICS_ALL

SELECT * FROM V$SQLAREA_PLAN_HASH

SELECT * FROM V$RSRC_PLAN_HISTORY

有多少办法可以查看一个Oracle SQL语句的执行计划 - SQL EXECUTE PLAN

标签:

原文地址:http://www.cnblogs.com/currahee/p/5473288.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!