我有几个SQL查询的查询运行性能非常低,我想判断这个查询的查询执行计划.我正在try 执行下面的查询,但它没有显示任何查询执行计划.它的唯一显示消息计划已成功.我不知道我们是否需要在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 );

推荐答案

解释计划

In SQL Developer, you don't have to use 解释计划 statement. Press F10 or click the Explain Plan icon.

在此处输入图像描述

然后它将显示在Explain Plan window中.

如果你使用SQL*Plus,那么使用DBMS_XPLAN.

例如

SQL> 解释计划
  2  SELECT * FROM DUAL;

Explained.

SQL> SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);

PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------
Plan hash value: 272002086

--------------------------------------------------------------------------
| Id  | Operation         | Name | Rows  | Bytes | Cost (%CPU)| Time     |
--------------------------------------------------------------------------
|   0 | SELECT STATEMENT  |      |     1 |     2 |     2   (0)| 00:00:01 |
|   1 |  TABLE ACCESS FULL| DUAL |     1 |     2 |     2   (0)| 00:00:01 |
--------------------------------------------------------------------------

8 rows selected.

SQL>

How to create and display Explain Plan

Sql相关问答推荐

获取每个帖子的匹配关键字列表

SQL—如何在搜索的元素之后和之前获取元素?

SQL—如何根据2列填写缺失的值

如何在联接条件不匹配时按日期获取上一条记录

如何更新SQLite数据库中的表?

如何嵌套两条SQL语句

在数据库中搜索列

带上最后日期(结果)

属于(日期)范围类型及其交集的总权重​

SQL查询正在工作,但返回空结果

使用同一个表,为什么IN、NOT IN、NOT EXISTS和EXISTS有不同的输出?

不存在记录的国外关键点

SQL OR子句如何在JOINON查询中工作?

计算不同模式的时间跨度

在 postgres 中插入或更新 jsonb 数组的对象

如何根据创建日期查找两个表中最接近的记录?

joins 组合多个重复数据删除策略

如何计算每行出现的次数并显示在另一个表中?

snowflake插入覆盖行为

在 UTF 编码字符上应用 SQL LIKE 语句没有给出任何结果