首批通过分布式安全可靠测评,为关键业务系统打造
执行计划结果中 Optimization info 详解
更新时间:2026-05-14 09:21
本文介绍 explain extended 结果中的 Optimization info 详解。
适用版本
OceanBase 数据库 V3.x 版本。
Optimization Info
Optimization Info
-------------------------------------
A1:table_rows:2, physical_range_rows:2, logical_range_rows:2, index_back_rows:0, output_rows:2, est_method:local_storage, optimization_method=cost_based, avaiable_index_name[A1], pruned_index_name[A1_I1], estimation info[table_id:1116004302243836, (table_type:1, version:0-1702836010506440-1702836010506440, logical_rc:0, physical_rc:0), (table_type:0, version:1702836010506440-1702836010506440-9223372036854775807, logical_rc:2, physical_rc:2)]
table_rows:上一个合并版本中 SSTable 中的表的行数,只具有参考意义。physical_range_rows:存储层对表估行估出的物理行数,优化器算 cost 参考的行数,当多分区表全表扫描时,优化器会根据数据量最大的分区的行数*分区数来估算。logical_range_rows:存储层对表估行估出的逻辑行数。index_back_rows:索引返回行数,当全表扫描时该值为 0。output_rows:预估输出行数。est_method:存储层采样方式。有 local_storage、remote_storage、basic_stat 三种。目前仅支持对本地存储进行采样,对于数据分区在远程节点上的情况,只能使用默认收集的统计信息进行代价估计,可能会引入代价偏差。optimization_method:优化器的模式,分为 cost_based(基于代价)和 heuristic based(启发式规则,当命中优化器的前置规则,会直接选中某个索引,不再做代价计算)。avaiable_index_name:参与竞争的索引,包括竞争成功的索引,全表扫描中也会有值,只是基于代价没竞争过全表扫描。pruned_index_name:被剔除的索引,不在执行计划中被考虑。