---
title: 使用 ADAPTIVE JOIN 导致结果少行-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于 使用 ADAPTIVE JOIN 导致结果少行相关的常见问题和使用技巧，帮助您快速解决 使用 ADAPTIVE JOIN 导致结果少行的难题。
---
切换语言

- 简体中文
- English

划线反馈

# 使用 ADAPTIVE JOIN 导致结果少行

更新时间：2026-05-15 09:06

适用版本： V4.2.x 内容类型：Troubleshoot  

## 问题现象

执行如下计划时，预期有结果，实际输出空的结果集。

计划满足的要求是，存在一个 JOIN 算子，它的两个孩子一个是 PKEY EXCHANGE 算子，另一个是 ADAPTIVE JOIN。

ADAPTIVE JOIN 的计划形态如下。

```shell
HASH JOIN
  NESTED-LOOP JOIN
    STATISTICS COLLECTOR
      ....

```

下面的计划中，5 号 HASH JOIN 和 6 号 NESTED LOOP JOIN 构成了一个 ADAPTIVE JOIN。

4 号 HASH JOIN 满足了左孩子是 ADAPTIVE JOIN，右孩子是 PKEY EXCHANGE。

![image](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/knowledge-base/database/performance/20250327using-adaptive-join-results-in-fewer-rows.png)

## 关键诊断信息

### 触发条件

开启了 ADAPTIVE JOIN，OceanBase 数据库 V4.2.5 GA（oceanbase-4.2.5.0-100000082024102022）版本上默认开启，V4.2.5 BP1 版本开始默认关闭。

### 事前巡检

不需要巡检，ADAPTIVE JOIN 功能目前不稳定，建议 V4.2.5 GA（oceanbase-4.2.5.0-100000082024102022）版本上都将该功能先关闭。

### 事后诊断

是否生成空结果集，计划是否符合上述条件。

## 问题原因

ADAPTIVE JOIN 的 BUG 导致，当生成 PKEY 计划并且 PKEY 的目标侧是一个 ADAPTIVE JOIN 时，计划生成阶段设置为 PKEY EXCHANGE 的 TABLE_ID 有问题，导致数据无法根据分区 ID 分发到正确的线程，从而导致上层的 JOIN 生成了空的结果集。

## 问题的风险及影响

造成正确性问题，执行 SQL 生成空结果集。

## 影响租户

影响 OceanBase 数据库中的 SYS 租户和 Oracle 租户以及 MySQL 租户。

## 影响版本

OceanBase 数据库企业版 V4.2.5 GA（oceanbase-4.2.5.0-100000082024102022）及之后版本。

## 解决方法

关闭 ADAPTIVE JOIN，刷新 plan cache。

## 规避方式

在 OceanBase 数据库 V4.2.5 GA（oceanbase-4.2.5.0-100000082024102022）或从 V4.2.5 GA（oceanbase-4.2.5.0-100000082024102022）升级上来的版本中，关闭 ADAPTIVE JOIN。

```sql
-- sys 租户执行
ALTER SYSTEM SET _adaptive_join_enabled = false tenant = all;

```

Previous

[包含大 OR 的 SQL，硬解析慢，如何优化](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000005412876)

Next

[union 子句有相同 output expr 且需要与其他表关联时，生成的 NLJ 计划执行结果错误](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000002295520) ![有帮助](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) 咨询热线
