45、SQL 监控与调优指南

SQL 监控与调优指南

1. 执行计划基础

执行计划是数据库管理员和开发人员用于提高 SQL 查询性能的实用工具。在执行计划中,每个 ID 都与一个操作相关联,对性能影响最大的两种操作类型是访问路径和连接方法。

1.1 访问路径

访问路径描述了如何从数据库中检索数据。常见的访问路径如下表所示:
| 访问路径 | 描述 |
| — | — |
| 全表扫描 | 读取表中的所有行,当需要读取表中大部分行时效率较高。当只需要读取表的小部分数据时,可以创建索引以避免全表扫描。 |
| Rowid 扫描 | 通过 ROWID 定位行。ROWID 包含数据文件和块内行的物理位置,当检索的行数相对较少时效率较高,当读取表的大部分数据时效率较低。 |
| 索引扫描 | 索引包含键值和 ROWID。如果查询只需要索引键值中包含的信息,Oracle 会返回这些值,否则它会使用 ROWID 从表行中检索额外的数据。 |

一般来说,当要检索表数据的一小部分时,应使用索引访问路径;当返回表的大部分数据时,全表扫描可能更合适。

1.2 连接方法

连接方法是优化器用于从多个表中检索数据的技术。连接语句源于 WHERE 子句中的表连接。优化器必须为每个连接语句计算以下内容:
- 每个表返回行的访问路径
- 连接方法
- 当连接涉及两个以上表时的连接顺序

常见的连接方法如下表所示:
| 连接方法 | 描述 |
| — | — |
| 嵌套循环 | 当连接小数据子集且对连接中的第二个表(内部)有唯一索引或高选择性索引访问

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值