oracle执行计划打印

zhangchaoming 2020-06-21

下班逗猫闲得无聊,写写自己对几种oracle执行计划打印的认识。只是如何打印,对于如何查看执行计划有时间再写,毕竟9 10 6的人不配拥有太多。当然执行计划的打印方式很多,这只是其中几种。废话少说开始吧
方式一:explain plan for
使用explain plan for,这种查询方式适合查看单条执行SQL的执行计划。explain plan for的查看方式也有两种:
1、 plsql的F5快捷键:登录plsql?按F5—>plsql会打开开一个窗口—>编写sql命名并执行—>会有刚执行sql的执行计划打印出
2、 命令窗口或者登录数据库后台执行—>explain plan for sql语句;?再执行select from table(dbms_xplan.display);-->会有执行计划打印出
注意:这种方式的执行计划只是预估值,并非真正的执行计划
方式二set autotrace on
这种方式不能再plsql下进行(目前我发现在不能在plsql下进行),只能在sqlplus下进行。(如果你问我sqlplus是啥,关机睡觉吧)
SQL> set autotrace on
SQL> select
from A; #这句是你执行的sql,只能说这么细,再说细点感觉就是你对的侮辱
上一句执行后就会展现你的执行计划信息。
当然是用set autotrace on有时会报Cannot SET AUTOTRACE的错。小弟这里提供一个脚本,脚本的原理自己看内容(估计也没几个人喜欢看,哈哈)。当前脚本在oracle用户下执行。(不知道是小弟眼拙还是真的不能上传文件,脚本上传不了,大致内容如下:
#!/bin/sh
utlxplan_url=find $ORACLE_HOME -name "utlxplan.sql"
plustrce_url=find $ORACLE_HOME -name "plustrce.sql"
sqlplus / as sysdba <<EOF

相关推荐