2条回答
默认
最新
Oracle的执行计划可以通过以下几种方法查看:
- 使用PL/SQL Dev工具:可以按照以下步骤查看执行计划:
- 打开PL/SQL Dev工具,并导航到“Explain Plan Window”。
- 在窗口中执行SQL语句以查看计划结果。结果中将显示Cost(cpu的消耗,单位为n%)和Cardinality(执行的行数,等价Rows)。
- 使用Oracle SQL Developer:这个工具中有一个专门的执行计划视图,可以显示查询的执行计划。只需在SQL Developer中打开要查询的数据库对象(如表或视图),然后右键点击对象选择 “View Execution Plan” 即可。
- 使用Oracle SQL*Plus:可以按照以下步骤查看执行计划:
- 进入SQL*Plus并执行“set autotrace on”命令。
- 执行SQL语句,执行完语句后,将显示“explain plan”与统计信息。
- 使用DBMS_XPLAN包:可以执行“EXPLAIN PLAN FOR”命令,然后从结果中选取想要查看的plan。
总的来说,Oracle的执行计划是描述Oracle SQL语句执行过程的树状图,其中包含了各个执行阶段的信息,可以帮助数据库管理员和开发者更好地理解和优化SQL语句和数据库性能。
评论
有用 4简便的方法
Toad、plsql dev、explain plan for、DBMS_XPLAN cursor或awr 可以看带水分的执行计划,里面cost值是预估的,执行几乎错误时候这个比较难看出来问题,牛逼的人是看的执行计划的执行步骤,个人觉得新手不太适合看;
推荐的方法(实际执行计划)
alter session set statistics_level=all;
1、单个 sql 文本中 hint /*+ gather_plan_statistics */,实际执行后可以看到带有A-TIME的执行计划,可以直观的定位到耗时的步骤;可以看到表访问次数、结果返回行数、实际执行时间。
2、设置 statistics_level=all后,执行sql,然后如下语句看,select * from table(dbms_xplan.display_cursor(null,null,‘allstats last’)); 也是带有A-TIME的执行计划;效果同上;可以看到表访问次数、结果返回行数、实际执行时间。
3、set autot trace,后执行SQL,屏蔽掉结果返回,可以看到消耗的逻辑读、物理读,也是比价实用的一个方式,实际执行,没有A-TIME。
4、SQL Monitor,官方会推荐使用的方式,有时候开case也会让你抓,我自己使用的比较少,上面的方法感觉够用了
每次查看其实都是选择方法,多数情况下,建议看带有A-TIME的执行计划。
评论
有用 0回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
墨值悬赏

