文章 2022-02-16 来自:开发者社区

《Oracle高性能SQL引擎剖析:SQL优化与调优机制详解》一2.5 执行计划中其他信息的含义

2.5 执行计划中其他信息的含义 通过DBMS_XPLAN输出执行计划,除了计划本身外,还可以获得一些其他信息帮助我们进一步分析执行计划及语句性能。2.5.1 查询块和对象别名在使用DBMS_XPLAN显示执行计划时,选择'ADVANCED'预定义格式作为参数或者加入'ALIAS'控制字符串,可以在输出中看到以下内容: Query Block Name / Object Alias (ident....

文章 2022-02-16 来自:开发者社区

《Oracle高性能SQL引擎剖析:SQL优化与调优机制详解》一2.4 执行计划各个操作的含义

2.4 执行计划各个操作的含义 通常我们所说的执行计划操作包含两个部分:操作与其选项。例如,哈希关联反关联(HASH JOIN ANTI)中,哈希关联(HASH JOIN)是一种操作,“反”关联(ANTI)则是其选项;该操作还可以与其他选项(如“半”关联,SEMI)配合形成不同的执行计划操作。执行计划中的操作数量非常多。我们下面列出的操作是Oracle 10gR2中的绝大多数操作。Oracle的....

SQL调优与架构优化

10 课时 |
61 人已学 |
免费

SQL基础开发与应用

9 课时 |
2467 人已学 |
免费

如何在 PolarDB-X 中优化慢 SQL

2 课时 |
126 人已学 |
免费
开发者课程背景图
文章 2022-02-16 来自:开发者社区

《Oracle高性能SQL引擎剖析:SQL优化与调优机制详解》一2.3 执行计划各个列的含义

2.3 执行计划各个列的含义 在执行计划中,除了ID、Operation和Name之外,还有其他一些列。这些列的数据是根据需要从PLAN_TABLE、V$SQL_PLAN、V$SQL_PLAN_STATISTICS_ALL等表和视图中读取的。它们可以帮助我们进一步理解该执行计划(例如优化器对各个操作的估算数据、实际运行中各个操作的性能数据等)。以下就是各个列的描述。Rows/E-Rows:优化器....

文章 2022-02-16 来自:开发者社区

《Oracle高性能SQL引擎剖析:SQL优化与调优机制详解》一2.2 内部函数与操作

2.2 内部函数与操作 实际上,在Oracle内部,执行计划的每一个数据源(Row Source)操作都与一个内部函数(qer<*>)相对应,而操作对象、谓词条件都是这些函数的参数。这些函数之间可以相互调用,也正是这些函数的调用关系,映射成为执行计划的树状关系。换句话说,一个执行计划告诉Oracle的内部引擎如何调用这些函数,以及传给函数的参数值。例如,在上述例子中,NESTED L....

文章 2022-02-16 来自:开发者社区

《Oracle高性能SQL引擎剖析:SQL优化与调优机制详解》一2.1 执行计划的基本数据

2.1 执行计划的基本数据 我们用代码清单2-1中的查询计划为例,解释计划访问中基本数据的含义。代码清单2-1执行计划查询 HELLODBA.COM&gt;exec sql_explain('select o.owner, o.object_name, o.object_id from t_users u, t_objects o where u.username=o.owner and o......

文章 2022-02-16 来自:开发者社区

《Oracle高性能SQL引擎剖析:SQL优化与调优机制详解》一第2章 解读执行计划

第2章 解读执行计划 我们掌握了获取和显示执行计划的方法后,就可以开始了解如何来读懂一个执行计划。从我们前面的示例中可以发现,一个执行计划实际上是一个树状关系的结构图。在这个树状结构图中,每一个节点代表了一个操作(相应的,它们在PLAN_TABLE、V$SQL_PLAN等执行计划表、视图中都有一条记录),每个支节点(或者说父节点)下都有一个或多个子操作;除根节点外,每个节点都仅隶属于一个支节点。....

文章 2022-02-16 来自:开发者社区

《Oracle高性能SQL引擎剖析:SQL优化与调优机制详解》一1.2 显示执行计划

1.2 显示执行计划 我们现在知道,有三个途径可以获取查询计划:v$sql_plan、dba_hist_sql_plan和PLAN_TABLE。如果需要读取一条SQL语句的执行计划,就需要知道该条语句的SQL_ID,如果该语句存在多个游标或者执行计划,则还需要知道游标的CHILD_NUMBER或计划的哈希值(可选)。而无论我们通过哪个途径来获取执行计划,显示方式主要是两种:语句查询和包DBMS_....

文章 2022-02-16 来自:开发者社区

《Oracle高性能SQL引擎剖析:SQL优化与调优机制详解》一1.1 生成执行计划

1.1 生成执行计划 在Oracle中,任何一条语句在解析过程中都会生成一个唯一的数值标识,即SQL_ID。而同一条语句,在解析过程中,可能会因为执行环境的改变(例如某些优化参数被改变)而生成多个版本的游标,不同的游标会有不同的执行计划。每个游标都会按顺序赋予一个序列号,即CHILD_NUMBER,一条语句生成的第一个游标的CHILD_NUMBER为0;相应的,Oracle会为每个执行计划生成一....

文章 2022-02-16 来自:开发者社区

《Oracle高性能SQL引擎剖析:SQL优化与调优机制详解》一第1章 生成和显示执行计划

第1章 生成和显示执行计划 任何一条SQL语句要正确运行并返回结果,SQL执行引擎都必须获得一个相应的执行计划。当缓存当中找不到与当前环境相匹配的执行计划时,SQL编译器会解析和生成一个相应的执行计划。已经生成的执行计划会驻留在缓存当中,直至其失效或者被清出缓存。如果想要生成和显示一条语句的执行计划,方法有多种。大致上分为两类:从内存或者历史数据中读取曾经执行语句的执行计划;使用Explain ....

文章 2022-02-16 来自:开发者社区

《Oracle高性能SQL引擎剖析:SQL优化与调优机制详解》一第一篇 执行计划

第一篇 执行计划 执行计划是指示Oracle如何获取和过滤数据、产生最终结果集,是影响SQL语句执行性能的关键因素。我们在深入了解执行计划之前,首先需要知道执行计划是在什么时候产生的,以及如何让SQL引擎为语句生成执行计划。在深入了解执行计划之前,我们先了解SQL语句的处理执行过程。当一条语句提交到Oracle后,SQL引擎会分为三个步骤对其处理和执行:解析(Parse)、执行(Execute)....

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐

数据库

分享数据库前沿,解构实战干货,推动数据库技术变革

+关注