首批通过分布式安全可靠测评,为关键业务系统打造
优化器将 exists 改写成 semi-join 后变慢的原因?
更新时间:2023-12-27 09:06
OceanBase 数据库从 V3.1.2 版本开始提供了 batch rescan 的优化,通过对驱动表中的记录进行分批,每一批数据 rescan 一次被驱动表,从而减小 rescan 的次数,提升性能。batch rescan 的功能由隐藏参数 _enable_px_batch_rescan 控制,默认为开启。
由于 OceanBase 数据库中半连接(Semi-Join)无法使用 PX batch rescan 提升性能。
可以通过将 SQL 改写成内连接 (INNER JOIN)形式,INNER JOIN 可以走 PX batch rescan。
适用版本
OceanBase 数据库 V2.x 版本和 V3.x 版本。