Oracle性能诊断艺术-读书笔记(范围分区)
1. PARTITION RANGE SINGLE
注意:操作2 中的 TABLE ACCESS FULL 并不是全表扫描,只是对分区1 做 全分区扫描
case2
2. 分区范围迭代(PARTITION RANGE ITERATOR)
3. 分区范围内联(PARTITION RANGE LIST)
如果限制是基于一个或多个IN条件,组成一个或多个元素,则执行计划中将出现一个特定的操作 PARTITION RANGE INLIST.用这个操作pstart、pstop不能给出哪个分区被访问的精确信息,而是显示为KEY(I)。表明分区裁剪分别针对IN条件中的每个值进行。再者,列starts表示有多少分区被访问
4. 所有分区范围(PARTITION RANGE ALL)
分区键没有限制,则会访问所有分区。
5. PARTITION RANGE EMPTY
查询优化器识别出没有分区存储相关数据的时候,它会显示在执行计划中
6. PARTITION RANGE OR
where子句中的多个谓词如果包含OR条件将导致全表扫描
7. PARTITION RANGE SUBQUERY
第一个策略 是 规避分区裁剪
第二个策略 用nested loop 操作执行连接,并且定义应该发生在分区裁剪的表作为第二个自操作
第三种策略
8. PARTITION RANGE JOIN-FILTER
执行计划按如下顺序执行。
1. 操作3和4通过索引tx_pk访问表tx
2. 基于操作3返回的数据,操作2基于列tx.d1 和 tx.n1的值创建了一个内存结构(bloom过滤)
3. 基于操作2创建的内存结构,操作5能够采用分区裁剪,因而,能够之访问包含相关数据的分区。
9. PARTITION RANGE MULTI-COLUMN操作