---
title: 优化器将 exists 改写成 semi-join 后变慢的原因？-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于 优化器将 exists 改写成 semi-join 后变慢的原因？相关的常见问题和使用技巧，帮助您快速解决 优化器将 exists 改写成 semi-join 后变慢的原因？的难题。
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

划线反馈

# 优化器将 exists 改写成 semi-join 后变慢的原因？

更新时间：2023-12-27 09:06

适用版本： V2.1.x、V2.2.x、V3.1.x、V3.2.x 内容类型：TechNote  

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 版本。

上一篇

[UDF 的 DETERMINISTIC 属性对 SQL 性能的影响](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000217877)

下一篇

[子查询改写错误导致 SQL 查询结果为空的问题](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000505389) ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
