zoukankan      html  css  js  c++  java
  • Dbeaver如何看Oralce执行计划?解决: explain plan FOR 无效? 执行计划的顺序怎么查看?

    此文转载自:https://blog.csdn.net/q258523454/article/details/112252826#commentBox

    假如有如下表结构和数据

    CREATE TABLE student
    (
        id    number(10) PRIMARY KEY,
        name  varchar(10)                not NULL,
        name2 char(10) DEFAULT 'default' NOT NULL,
        age   number(4)
    ) tablespace TBS_CUR_DAT;
    
    COMMENT ON COLUMN student.name IS '姓名';
    COMMENT ON COLUMN student.name2 IS '姓名2';
    COMMENT ON COLUMN student.age IS '年龄';
    
    
    CREATE UNIQUE INDEX STUDENT_IDX_01 on STUDENT (id,name);
    CREATE UNIQUE INDEX STUDENT_IDX_02 on STUDENT (age);
    ID NAME NAME2 AGE
    1 1      1     1
    2 2      2     2
    3 3      3     3
    4 4      4     [NULL]

    在dbeaver中用

    explain plan FOR SELECT * from student;

    查看执行计划,发现没有任何反应(原因见后文)。

    所以只能用工具来查看了,如何做呢?

    注意上面可能因为版本问题出现的坑: 如果执行计划没有任何反应,先删除“;”分号,重新加上然后再执行。

    为什么用下面的方法查看不到执行计划呢?

    explain plan FOR SELECT * from student;

    原因是我们还少了一条查询SQL,上面只是生成执行计划,但是不会主动显示.

    explain plan FOR SELECT * from student;
    SELECT * FROM TABLE(dbms_xplan.display);

    执行计划如何看呢? 执行计划的执行顺序如何判断?

    答:树的后续遍历

    假如执行计划为:

    --------------------------------------------------
    | Id  | Operation                     | Name     |
    --------------------------------------------------
    |   0 | SELECT STATEMENT              |          |
    |*  1 |  FILTER                       |          |
    |   2 |   NESTED LOOPS                |          |
    |   3 |    TABLE ACCESS FULL          | EMP      |
    |   4 |    TABLE ACCESS BY INDEX ROWID| DEPT     |
    |*  5 |     INDEX UNIQUE SCAN         | PK_DEPT  |
    |*  6 |   TABLE ACCESS FULL           | SALGRADE |
    --------------------------------------------------

    画图:

    同理,下面的执行顺序为:

       

    更多内容详见微信公众号:Python测试和开发

    Python测试和开发

  • 相关阅读:
    CSDN的博客是肿么了?
    SQL Server 2005: 存储过程签名
    SQLSERVER中数据行所占用的最小空间
    如何配置 SQL Server 2005 以允许远程连接
    XamlPad小程序
    OPEN SYMMETRIC KEY scope in SQL Server
    SQL Server 2005 helpful catalogs: crypt_properties and key_encryptions
    WPF Unleashed Chapter 3:Important New Concepts in WPF Routed Events
    xp_cmdshell
    SQL Server 2005: 如何让用户只能加密数据却不能解密数据
  • 原文地址:https://www.cnblogs.com/phyger/p/14247114.html
Copyright © 2011-2022 走看看