某订单表按order_date 字段进行RANGE分区,每月一个分区。查询WHERE order_date BETWEEN '2025-01-01' AND '2025-06-01' 时,OceanBase的优化器会进行什么优化?
A. 全表扫描
B. 分区裁剪
C. 索引全扫描
D. 并行度自适应调整
某订单表按order_date 字段进行RANGE分区,每月一个分区。查询WHERE order_date BETWEEN '2025-01-01' AND '2025-06-01' 时,OceanBase的优化器会进行什么优化?
A. 全表扫描
B. 分区裁剪
C. 索引全扫描
D. 并行度自适应调整
选B
当查询的 WHERE 条件中包含分区键(order_date )的范围条件时,OceanBase 的优化器会自动执行 分区裁剪 优化。
对于每月一个分区的表,条件 BETWEEN '2025-01-01' AND '2025-06-01' 涵盖了 2025 年 1 月至 6 月的数据。优化器在执行前会分析这个范围,只访问包含这 6 个月数据的分区 ,而跳过表中其他不相关的历史或未来分区,从而显著减少扫描的数据量。
B. 分区裁剪