zoukankan      html  css  js  c++  java
  • Oracle SQL Developer中查看解释计划Explain Plan的两种方法

    方法一:

    比如要查看解释计划的SQL是:select * from hy_emp

    那么在输入窗口输入:

    EXPLAIN PLAN FOR
    select * from hy_emp

    之后执行,输出窗口会出现 Explained. 字样,如下图:

    之后执行select * from table(dbms_xplan.display); 如下:

    总结步骤如下:

    执行:

    EXPLAIN PLAN FOR

    SELECT * from * where....

    再执行:

    select * from table(dbms_xplan.display) 

    方法二:

    这种方式更简单,把SQL框起来点按钮就行了。

    附:Oracle Explain Plan中各种信息的含义:

    • Plan hash value 是该语句的哈希值。SQL 语句和执行计划会存储在库缓存中,哈希值相同的语句可以重用已有的执行计划,也就是软解析;
    • Id 是一个序号,但不代表执行的顺序。执行的顺序按照缩进来判断,缩进越多的越先执行,同样缩进的从上至下执行。Id 前面的星号表示使用了谓词判断,参考下面的 Predicate Information;
    • Operation 表示当前的操作,也就是如何访问表的数据、如何实现表的连接、如何进行排序操作等;
    • Name 显示了访问的表名、索引名或者子查询等,前提是当前操作涉及到了这些对象;
    • Rows 是 Oracle 估计的当前操作返回的行数,也叫基数(Cardinality);
    • Bytes 是 Oracle 估计的当前操作涉及的数据量
    • Cost (%CPU) 是 Oracle 计算执行该操作所需的代价;
    • Time 是 Oracle 估计执行该操作所需的时间;
    • Predicate Information 显示与 Id 相关的谓词信息。access 是访问条件,影响到数据的访问方式(扫描表还是通过索引);filter 是过滤条件,获取数据后根据该条件进行过滤。

    参考:https://database.51cto.com/art/201912/608403.htm

    --END-- 2019-12-31 13:33

  • 相关阅读:
    spring core源码解读之ASM4用户手册翻译之一asm简介
    nginx启动,重启,关闭命令
    linux LVM分区查看dm设备
    jdbc 对sqlite的基本操作
    linux配置多个ip
    细说Linux下的虚拟主机那些事儿
    打造字符界面的多媒体Linux系统
    linux计划crontab
    因修改/etc/ssh权限导致的ssh不能连接异常解决方法
    Linux修改主机名
  • 原文地址:https://www.cnblogs.com/heyang78/p/12123819.html
Copyright © 2011-2022 走看看