获取执行计划的4种方式
1:从计划表中获取,计划表名默认是plan_table,可以直接查询计划表,也可以使用dbms_xplan.display函数
EXPLAIN PLAN FOR SELECT * from tbuser;
SELECT * from TABLE(dbms_xplan.display);
2:从动态视图中获取,有4个动态视图(v$sql_plan,v$sql_plan_statistics,v$sql_workarea,v$sql_plan_statistics_all),可以直接查询动态视图,也可以使用dbms_xplan.display_cursor函数
SELECT * from TABLE(dbms_xplan.display_cursor('1hqjysdfoiewr',0));
3:从awr库中获取,可以直接查询视图dba_hist_sql_plan,也可以使用dbms_xplan.display_awr函数
SELECT * from TABLE(dbms_xplan.display_awr('1hqjysdfoiewr'));
4:通过10053,10132,10046事件或sql_trace跟踪
ALTER SESSION SET EVENTS '10053 trace name context forever';
ALTER SESSION SET EVENTS '10053 trace name context off';
执行计划中特殊字段说明:
tempspc: 估算要使用的临时表空间,如果pga内存够用的话,这个字段应该就不显示了。
cost(%cpu):估算的成本,%cpu代表了cpu开销的百分比,父操作开销包含子操作开销。
starts: 操作执行次数,很有用。
a-rows: 返回的真实记录数。
a-time: 使用的真实时间。
omem: 最优执行所需内存的估算值。
imem: 一次通过(one-pass)执行所需内存的估算值。
0/1/m: 最优/一次通过/多次通过(multipass)操作执行的次数。
user-men: 最后一次执行时操作使用的内存。
user-tmp: 最后一次执行时操作使用的临时表空间大小,扩大1024倍。
max-tem: 操作使用的最大临时表空间大小,扩大1024倍。
注:one-pass 使用最少的磁盘操作,大部分操作在内存中执行。
multipass 因工作区设置太小,存在大量的磁盘操作,性能下降。
分享到:
相关推荐
### Oracle 获取执行计划全部方法详解 #### 方法一:Explain Plan for 方式 - **应用场景**:当某个 SQL 查询执行时间过长甚至无法返回结果时,这种方法尤其适用。 - **步骤**: 1. 使用 `EXPLAIN PLAN FOR` 命令...
执行计划的解读方法可以使用 `V$SQLAREA`、`V$SQL_PLAN`、`V$SQLSTATS` 等性能视图来获取执行计划的信息。 执行计划的优化 执行计划的优化可以通过调整索引、访问路径、联接顺序等方法来实现。 索引扫描 索引...
有多种方式可以获取执行计划,包括: * Explain 语句:使用 Explain 语句可以获取执行计划,例如:Explain Plan Set STATEMENT_ID='testplan' For Select ….. * Autotrace 工具:Autotrace 是 Oracle 提供的一种...
执行计划是数据库系统根据查询语句生成的一种操作序列,用于高效地获取和处理数据。本文将详细介绍KingbaseES中的执行计划及其各种操作方式。 1. **执行计划简介** 执行计划是数据库管理系统在执行SQL语句前预先...
- **XML格式执行计划**:提供了一种机器可读的方式来表示执行计划,适合程序处理和自动化工具使用。 - **文本格式执行计划**:显示执行计划的基本信息,适合快速查看查询的主要操作。 #### 四、案例分析 本书还...
这里指出当Oracle的自动优化器生成的执行计划可能不是最优解时,可以手动进行干预,通过绑定执行计划的方式将某个已知较好的执行计划固定下来,确保每次执行该SQL语句时都使用这个固定的执行计划。 #### 标签解释 -...
执行计划是指数据库管理系统(DBMS)用来执行SQL查询的方式,它是优化查询性能的关键因素之一。 ###### 1.2.1 什么是执行计划 执行计划是一个内部过程,用于确定数据库如何执行SQL语句。通过使用`EXPLAIN`关键字,...
3. **调整查询结构**:通过更改查询语句的方式,有时候可以让SQL Server采用更高效的执行计划。 4. **调整表结构**:考虑将数据分表或分区,以减少单个表的数据量。 #### 五、SQL Server 的查找方法 SQL Server提供...
这意味着当再次执行相同的SQL语句时,Oracle可以直接从内存中获取执行计划而无需重新解析,极大地提升了执行效率。 **共享池中的SQL语句匹配规则**:为了确保SQL语句能够成功共享,Oracle采用了严格的匹配策略。...
执行计划揭示了Oracle如何处理一个SQL查询,包括数据的访问路径、使用的索引、排序方式以及表之间的连接顺序等。本文将深入探讨如何查看执行计划,并提供优化SQL的策略。 一、执行计划的概念 执行计划是Oracle...
在Oracle中获取执行计划有多种方法,以下是几种常见的方法: 1. 使用EXPLAIN PLAN语句:这是一种常用的方法,用户可以通过执行EXPLAIN PLAN语句,然后查询输出表来获取SQL语句的执行计划。例如,使用EXPLAIN PLAN ...
#### 获取执行计划的方法 1. **使用EXPLAIN PLAN语句**:通过`EXPLAIN PLAN FOR`语句生成执行计划,随后使用`DBMS_XPLAN.DISPLAY`包来格式化并显示执行计划。这一步并不执行SQL语句,仅生成执行计划。 2. **SQL\*...
获取执行计划的方式有多种,常见的方式包括: 1. 使用 Explain 语句:使用 Explain 语句可以生成执行计划,例如: ```sql explain plan set STATEMENT_ID='testplan' for select * from dual; ``` 2. 使用 ...
本节我们将深入探讨"第四节 mysql 执行计划",主要关注如何分析和解读MySQL查询的执行计划,以及它在优化数据库操作中的作用。 首先,执行计划,也称为查询计划,是数据库管理系统在执行SQL查询时所采用的具体步骤...
`来获取执行计划。 #### 三、执行计划的解读 执行计划由一系列的操作步骤组成,每个步骤都有特定的含义。以下是一些常见的操作及其含义: - **SELECT STATEMENT**: 表示整个查询语句。 - **TABLE ACCESS FULL**: ...
大多数DBMS,如Oracle、MySQL、SQL Server等,都提供了获取执行计划的功能。在查询执行前,DBMS会解析SQL语句,生成一棵逻辑操作树,然后转化为物理操作计划,即执行计划。执行计划中的每个节点代表一个操作,如扫描...