星空网 > 软件开发 > 数据库

ORACLE 查看有多个执行计划的SQL语句

SQL优化过程,有时候需要查看哪些SQL具有多个执行计划,因为同一个SQL有多个执行计划一般意味着代码有问题或某些其它原因,例如,SQL语句使用绑定变量,但是绑定变量的类型或长度可能不一致会导致同一SQL出现不同执行计划。


--查看数据库里面有多个执行计划的SQL语句的SQL_ID

SELECT SQL_ID, COUNT(1) AS PLAN_NUM
FROM V$SQL
GROUP BY SQL_ID
HAVING COUNT(1) >=2
ORDER BY 2 DESC ;


--根据具体的SQL_ID查看对应的SQL语句

SELECT * FROM V$SQL
WHERE SQL_ID=:SQL_ID;



可以通过下面SQL语句查询对应SQL的所有执行计划或部分执行计划,分析出现多个执行计划的原因

--查询SQL所有执行计划
SELECT * FROM TABLE(SYS.DBMS_XPLAN.DISPLAY_CURSOR('9x4fggs2mzu0m',null))
 
--查询SQL的CHILD NUMBER为0的执行计划
SELECT * FROM TABLE(SYS.DBMS_XPLAN.DISPLAY_CURSOR('9x4fggs2mzu0m',0))
 
--查询SQL的CHILD NUMBER为1的执行计划
SELECT * FROM TABLE(SYS.DBMS_XPLAN.DISPLAY_CURSOR('9x4fggs2mzu0m',1))





原标题:ORACLE 查看有多个执行计划的SQL语句

关键词:sql

sql
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

货格格:https://www.goluckyvip.com/tag/34271.html
货架理论:https://www.goluckyvip.com/tag/34272.html
货款服务:https://www.goluckyvip.com/tag/34273.html
货老板:https://www.goluckyvip.com/tag/34274.html
货呢网:https://www.goluckyvip.com/tag/34276.html
货品fba:https://www.goluckyvip.com/tag/34277.html
湘西游轮六 湘江游轮夜游:https://www.vstour.cn/a/411226.html
携程旅游网折扣优惠最新攻略(携程旅游网更佳折扣优惠):https://www.vstour.cn/a/411227.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流