• 技术文章 >数据库 >mysql教程

    解读Oracle执行计划

    2016-06-07 17:27:16原创544

    解读Oracle执行计划,对于Oracle执行计划,并列的行从上往下执行,非并列的行,靠右的先执行。

    本篇解释Oracle执行计划中基本项的含义

    关于生成和显示Oracle执行计划的方法请阅读

    下面举例进行解释

    SQL> explain plan for
    2 select a.name,b.name
    3 from t1 a,t2 b
    4 where a.id=b.id
    5 and a.id='1';

    Explained.

    SQL> set lines 200
    SQL> set pagesize 0
    SQL> select * from table(dbms_xplan.display());
    Plan hash value: 2680223496

    --------------------------------------------------------------------------------------
    | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
    --------------------------------------------------------------------------------------
    | 0 | SELECT STATEMENT | | 1 | 20 | 5 (0)| 00:00:01 |
    | 1 | NESTED LOOPS | | 1 | 20 | 5 (0)| 00:00:01 |
    | 2 | TABLE ACCESS BY INDEX ROWID| T1 | 1 | 10 | 1 (0)| 00:00:01 |
    |* 3 | INDEX UNIQUE SCAN | T1_PK | 1 | | 0 (0)| 00:00:01 |
    |* 4 | TABLE ACCESS FULL | T2 | 1 | 10 | 4 (0)| 00:00:01 |
    --------------------------------------------------------------------------------------

    Predicate Information (identified by operation id):
    ---------------------------------------------------

    3 - access("A"."ID"=1)
    4 - filter("B"."ID"=1)

    17 rows selected.

    对于Oracle执行计划,并列的行从上往下执行,非并列的行,靠右的先执行。

    例如本例中:

    id为3的操作最靠右,所以最先执行,其次是id为2和4的操作较靠右,而且并列,那么按照并列从上往下执行的原则,id为2的操作比id为4的操作先执行。

    然后执行id为1的操作。

    那么本例中执行计划按id排序为 3>2>4>1

    ---------------------------------------------------------------------------------------------------------------

    本例中使用的DBMS_XPLAY显示的执行计划,其中:

    id:为每个操作的唯一序列号,

    operation:为每个操作的名称和方式,,

    name:是操作对象

    Rows:Oracle估算当前操作影响的行数

    bytes:Oracle估算当前操作的影响的数据量(单位byte)

    Cost:Oracle计算出来的执行该操作的代价

    Time:Oracle估算出来的该操作花费的时间

    linux

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    上一篇:Oracle 10g SID dump目录 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• MySQL存储过程高级SQL语句总结• 一起聊聊Mysql两阶段锁和死锁• 实例分析MySQL中pt-query-digest工具的使用记录• 深入理解MySQL索引优化器工作原理• 简单聊聊MySQL中join查询
    1/1

    PHP中文网