千家信息网

获得执行计划方法-一 ORACLE AUTOTRACE

发表于:2025-01-22 作者:千家信息网编辑
千家信息网最后更新 2025年01月22日,ORACLE sql traceAUTOTRACE 命令1 SET AUTOTRACE OFF 此为默认值,即关闭Autotrace2 SET AUTOTRACE ON 产生结果集和解释计划并列出统计
千家信息网最后更新 2025年01月22日获得执行计划方法-一 ORACLE AUTOTRACE

ORACLE sql trace


AUTOTRACE 命令

1 SET AUTOTRACE OFF 此为默认值,即关闭Autotrace
2 SET AUTOTRACE ON 产生结果集和解释计划并列出统计
3 SET AUTOTRACE ON EXPLAIN 显示结果集和解释计划不显示统计
4 SETAUTOTRACE TRACEONLY 显示解释计划和统计,尽管执行该语句但您将看不到结果集
5 SET AUTOTRACE TRACEONLY STATISTICS 只显示统计

SQL> set autotrace on
SQL> select * from dual
2 ;

D
-
X


Execution Plan
----------------------------------------------------------
Plan hash value: 272002086

--------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
--------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 2 | 2 (0)| 00:00:01 |
| 1 | TABLE ACCESS FULL| DUAL | 1 | 2 | 2 (0)| 00:00:01 |
--------------------------------------------------------------------------


Statistics
----------------------------------------------------------
1 recursive calls
0 db block gets
3 consistent gets
0 physical reads
0 redo size
407 bytes sent via SQL*Net to client
385 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
1 rows processed

各统计信息含义
db block gets 从buffer cache中读取的block的数量
consistent gets 从buffer cache中读取的undo数据的block的数量
physical reads 从磁盘读取的block的数量
redo size DML生成的redo的大小
sorts (memory) 在内存执行的排序量
sorts (disk) 在磁盘上执行的排序量


db block gets 是取得current mode下的buffer cache
consistent gets 取的是consistent mode 下buffer cache ,其中consistent read 需要undo block 构造一致读块

官方文档如下

  • Current mode

    A current mode get, also called a db block get, is a retrieval of a block as it currently appears in the buffer cache.

    current mode 也叫 db block get ,是对buffer cache 中当前块的检索。

    For example, if an uncommitted transaction has updated two rows in a block, then a current mode get retrieves the block with these uncommitted rows.

    例如,如果一个尚未提交的事物修改了一个块的两行,current模式个检索块时,包括两个尚未提交的行

    The database uses db block gets most frequently during modification statements, which must update only the current version of the block.

    数据库通常在使用修改语句时 使用db block get ,哪个必须修改当前块的版本。

  • Consistent mode

    A consistent read get is a retrieval of a read-consistent version of a block. This retrieval may use undo data.

    一致读读取的是块的一致性版本,这通常要使用undo 块。


    For example, if an uncommitted transaction has updated two rows in a block, and if a query in a separate session requests the block,

    例如 一个未提交事物修改了一个块的两行,另一个session查询这个块

    then the database uses undo data to create a read-consistent version of this block (called a consistent read clone) that does not include the uncommitted updates.

    数据库使用undo,创建一个一致读版本的块(被称为一致读的块克隆),不包含未提交的update。

    Typically, a query retrieves blocks in consistent mode.
    典型的,查询在一致读模式下进行检索




一致 统计 数据 数量 版本 结果 检索 解释 事物 尚未 数据库 模式 磁盘 语句 排序 查询 一致性 两个 信息 典型 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 学校网络安全风险分析 软件开发项目如何聊 廊坊炒股软件开发 丰台品牌服务器回收新报价 网络安全班会班主任发言 龙芯电脑支持的软件开发环境 国内数据库领域发展现状 服务器安装PC系统教程 安全性最好的数据库 我的世界手机版逃离服务器 暗黑破坏神2战网服务器找不到 福建网络技术服务联系人 网络安全宣传周 人民日报 湖南什么是软件开发推广 技校的软件开发方向好不好 软件开发清单文档 河南海鲜配送软件开发 衡水伊晟网络技术有限公司 软件开发适配不同操作系统 dnf服务器出现错误 数据库如何转化成关系模型 网络安全宣传视频人民警察 网络技术对汽车有什么好处 暗黑破坏神2战网服务器找不到 网络安全知识大赛题解 中搜互动网络技术有限公司 乳腺癌数据库作为博士学位 网络技术应用基础知识题库 怎样报考网络安全员 石家庄金角网络技术有限公司
0