`

如何读懂执行计划一

 
阅读更多
SQL> select count(*) from dba_objects;
COUNT(*)
----------
11345

Execution Plan
----------------------------------------------------------
Plan hash value: 2598313856
--------------------------------------------------------------------------------
---------------
| Id | Operation | Name | Rows | Bytes | Cost (%C
PU)| Time |
--------------------------------------------------------------------------------
---------------
| 0 | SELECT STATEMENT | | 1 | | 38
(6)| 00:00:01 |
| 1 | SORT AGGREGATE | | 1 | |
| |
| 2 | VIEW | DBA_OBJECTS | 10010 | | 38
(6)| 00:00:01 |
| 3 | UNION-ALL | | | |
| |
|* 4 | FILTER | | | |
| |
|* 5 | HASH JOIN | | 11645 | 398K| 35
(6)| 00:00:01 |
| 6 | TABLE ACCESS FULL | USER$ | 32 | 96 | 2
(0)| 00:00:01 |
|* 7 | TABLE ACCESS FULL | OBJ$ | 11645 | 363K| 32
(4)| 00:00:01 |
|* 8 | TABLE ACCESS BY INDEX ROWID| IND$ | 1 | 8 | 2
(0)| 00:00:01 |
|* 9 | INDEX UNIQUE SCAN | I_IND1 | 1 | | 1
(0)| 00:00:01 |
| 10 | NESTED LOOPS | | 3 | 18 | 3
(0)| 00:00:01 |
| 11 | INDEX FULL SCAN | I_LINK1 | 3 | 9 | 1
(0)| 00:00:01 |
| 12 | TABLE ACCESS CLUSTER | USER$ | 1 | 3 | 1
(0)| 00:00:01 |
|* 13 | INDEX UNIQUE SCAN | I_USER# | 1 | | 0
(0)| 00:00:01 |
doc的前半句话不能很好的理解,不知道它要表述什么意思?
反正我们只需要看第三列"|"和语句对比,看哪个语句动作缩的
越靠右侧就先执行它,如果存在相同的则谁在前面就执行谁,根据这个
指导原则,计划的执行顺序如下:
6,7,5,9,8,4,11,13,12,10,3,2,1,0
--===============================
SQL> select sql_id,sql_text from v$sql where sql_text like '%select count(*) fro
m dba_objects%';
SQL_ID
-------------
SQL_TEXT
--------------------------------------------------------------------------------
gxk8zvq0j02z8
select sql_id,sql_text from v$sql where sql_text like '%select count(*) from dba
_objects%'
1jhx4zbub8uw3
select * from v$sql where sql_text like '%select count(*) from dba_objects%'
8vcrngun00v6g
select sql_id,sql_text from v$sql where sql_text like '%select count(*) from dba

SQL_ID
-------------
SQL_TEXT
--------------------------------------------------------------------------------
_objects%'
g4pkmrqrgxg3b
select count(*) from dba_objects
08bm3s8hxudu7
EXPLAIN PLAN SET STATEMENT_ID='PLUS886' FOR select count(*) from dba_objects

SQL>
--===============================
SQL> select id,parent_id from v$sql_plan where sql_id='g4pkmrqrgxg3b';
ID PARENT_ID
---------- ----------
0
1 0
2 1
3 2
4 3
5 4
6 5
7 5
8 4
9 8
10 3
ID PARENT_ID
---------- ----------
11 10
12 10
13 12
14 rows selected.
SQL>
9i的执行计划显示出来的是2列数字:
看起来就更容易了:
先从最上面看id,之后赵它的parent_id,如此下去直到找不到
parent_id,那么就先执行这个id,遇到具有相同parent_id的则谁
在前面执行谁,按照这种方法排列的顺序如下
6,7,5,9,8,4,11,13,12,10,3,2,1,0
其实我们可以根据id和parent_id画一颗树,然后按照中序(应该是中序吧)
遍历这颗树即可
 
分享到:
评论

相关推荐

    sql学习 解释读懂执行计划1_单独型.sql

    sql学习 解释读懂执行计划1_单独型.sql

    Oracle性能优化-读懂执行计划.pdf

    oracle性能优化的基本方法之读懂执行计划,能够把执行计划读懂,算是做好性能优化的第一步。在读懂执行计划的基础上,再去谈论性能优化,才能有理有据。

    读懂oracle的执行计划

    在数据库管理系统领域中,Oracle数据库是其中的佼佼者,特别是在企业级应用中。...对于任何希望深化对Oracle数据库优化理解的数据库管理员或开发者来说,学会读懂和分析执行计划是实现高效数据库管理的基础。

    读懂oracle sql执行计划

    为了读懂执行计划,通常需要实践和经验的积累。通过实际查询和修改操作,比如添加或者删除索引,改变表的存储参数,可以观察到执行计划的变化,从而加深对执行计划各部分作用的理解。 从提供的部分内容中,我们可以...

    达梦数据库执行计划操作符介绍

    理解这些操作符,可以更好地读懂执行计划,从而优化数据库性能。 1. PRJT2关系的“投影”(project)运算 PRJT2是达梦数据库中的投影运算符,用于选择表达式项的计算。它广泛应用于查询、排序、函数索引创建等场景...

    MySQL SQL执行计划分析与优化方案.pptx

    读懂最简单的 SQL 是学习 MySQL 执行计划的基础。了解 SQL 语句的执行计划可以帮助我们了解数据库是如何执行查询的,并且可以根据执行计划来优化查询性能。 在 MySQL 中,可以使用 EXPLAIN 语句来查看 SQL 语句的...

    Oracle数据库调优之-SQL执行计划粗解

    但是无论用什么办法调优,都必须要先读懂SQL的执行计划,了解应用程序的SQL的性能瓶颈在哪里,才可以进行有效的调优! 举个实际的应用场景,如果一条SQL平时执行的好好的,却有一天突然性能很差,如果排除了系统性能...

    WordPress博客每日定时发布 每天60秒读懂世界PHP源码

    wordpress博客每日定时发布《每天60秒读懂世界》 非第三方接口,采集知乎秒读懂世界接口,该源码适用于wordpress博客,通过本篇教程可以在自己的wordperss中增加每日定时发布《每天60秒读懂世界》中的文章,可以...

    MySQL SQL执行计划分析与优化.pdf

    1. **读懂最简单的SQL** - SQL执行计划是MySQL解释器为执行SQL语句所制定的详细步骤,它揭示了查询如何访问数据、使用索引以及处理结果的方式。 - 示例中展示了使用`EXPLAIN`关键字来查看执行计划。例如,当`sid`...

    一文读懂华为的股权激励.doc

    华为公司的股权激励计划是中国企业界一个著名的案例,其发展历程展示了华为如何通过巧妙的股权设计,激励员工积极参与公司发展,从而实现公司的快速成长。华为的股权激励制度主要经历了四个关键阶段: 1. 创业期...

    一文读懂三张报表.doc

    计划与预算的编制应与公司的战略目标一致,但实践中可能存在计划编制技巧不足、部门间协调性差、员工目标与公司目标脱节等问题。预算管理不仅限于财务部门,而应涉及整个组织,以确保战略目标的细化和执行。预算应...

    新官上任细节读懂代理商 管理资料.doc

    - 了解代理商心态:在短时间内读懂代理商的心理状态和需求,通过他们的反应和行为评估合作的难易程度。 - 关键人物分析:识别并处理关键代理商,如辽宁的三个大佬,他们的态度往往会影响其他地区的代理商。 - ...

    读懂企业战略管理武器之《战略解码》.pptx

    5. **战略解码方法**:战略解码是一种工具,通过团队共创,将公司战略清晰化、路径明确化,转化为员工可理解的行动计划,确保上下同欲,左右协同,推动战略落地执行。 6. **RIDER与RACE模型**:书中提出的RIDER...

    解密商业产品经理,一文秒读懂!.docx

    4. **商业化策略制定**:结合市场需求和公司战略,制定合理的商业化策略,包括但不限于定价策略、推广计划等。 5. **数据分析与反馈**:利用数据工具对产品表现进行监控,收集用户反馈,持续优化产品以提升用户...

    oracle 优化文档资料

    通过学习上述内容,并结合提供的文档资料如"精通Oracle.10g.Pl.SQL编程.pdf"、"Oracle+SQL优化.pdf"和"Maclean Liu的Oracle性能优化讲座 第一回-真正读懂Oracle SQL执行计划Execution Plan .pdf",你可以更深入地...

    产品经理深入浅出第0课-十分钟读懂互联网产品经理(1).pdf

    产品经理不仅需要具备专业的产品知识,还需要有良好的沟通能力和极强的执行力,能够将抽象的产品概念转化为具体的产品实施计划,并带领团队实现目标。此外,产品经理还需要不断地学习和适应不断变化的市场环境和用户...

    《数字化转型方法论》读书笔记.pdf

    它不仅仅涉及到技术的更新换代,更是一个涉及组织文化、流程、产品和服务全方位的转变。企业需要明确自身的数字化愿景,理解新技术如云计算、大数据、人工智能、物联网等如何与现有业务相结合,创造出新的价值。 ...

    上海交通大学PMP考前模拟试题(一)

    T(Topic):真正读懂题目,即确保充分理解题目的背景、要求和具体询问的内容。 K(Key):迅速抓住考点,强调在阅读题目时,快速识别出考察的关键点或核心概念。 S(Source):准确找到出处,指的是根据题目所给...

    20200822-国泰君安-计算机行业:一文读懂品高软件.pdf

    这一系列增资动作表明了公司资本实力的增长和对未来发展计划的信心。股权结构方面,品高软件的股权较为集中,稳定的所有权结构有助于公司长期战略的制定和执行。 公司主要业务可以分为两大板块:云产品及服务和行业...

    MySQL hint用法解析

    在MySQL中还有一种提示,叫做hint,hint是对数据库的提示,我们都知道, 在执行一条SQL语句的时候,MySQL都会生成一个执行计划,而hint就是用来告诉优化器按照我们告诉它的方式生成执行计划。Hint可以基于表连接的...

Global site tag (gtag.js) - Google Analytics