【发布时间】:2015-07-16 05:54:09
【问题描述】:
我有几个查询运行性能非常低的 SQL 查询,我想检查此查询的查询执行计划。我正在尝试执行以下查询,但它没有显示任何查询执行计划。它唯一的显示消息计划 FOR 成功。我不知道我们在 oracle sql developer 中是否需要做任何设置来解释查询计划:
EXPLAIN PLAN FOR
Select SO.P_OPTION_ID FROM
SIMSIM
JOIN P_TYPE PT on PT.KEY=SIM.P_TYPE_KEY JOIN P_CONFIG PC ON PC.ID=PT.PRODUCT_CONFIG_ID
JOIN P_OPTION PO ON PO.OPTION_KEY=PC.DEFAULT_PRODUCT_OPTIONS JOIN S_OPTION SO ON SO.SERVICE_ID=SIM.ASSIGNED_TO_SERVICE_ID
JOIN AVV_NO AN ON SIM.ASSIGNED_ANUMBER_ID = AN.ID
where SO.STATUS_ID IN (20,40)
and SO.ID < to_char(SYSDATE - numtodsinterval ( 1,'MINUTE' ), 'YYYYMMDDHH24MISS')||'0000'
and SO.ID > to_char(SYSDATE - numtodsinterval ( 1, 'HOUR' ), 'YYYYMMDDHH24MISS')||'0000'
and NOT EXISTS(SELECT ID from TEMP_BPL T WHERE T.ID = SO.ID );
【问题讨论】:
-
您也可以使用 dbForge Studio for Oracle 中的 SQL Profiler 工具来完成。看看功能评论页面 - SQL Profiler。
标签: sql oracle oracle-sqldeveloper sql-execution-plan