---
title: transfer 导致查询性能下降-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于 transfer 导致查询性能下降相关的常见问题和使用技巧，帮助您快速解决 transfer 导致查询性能下降的难题。
---
切换语言

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

划线反馈

# transfer 导致查询性能下降

更新时间：2026-05-14 09:21

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

## 问题现象

### 背景介绍

#### Transfer

transfer 是 V4.2 版本特有的负载均衡能力，其作用是将日志流中的 tablet 转移到另外一个日志流中。

#### 本问题背景

在开启负载均衡以后，一个 tablet 可能会从一个日志流**转移**（transfer）到另外一个日志流；tablet 在 transfer 过程中可能会生成一个空的 SSTable，这个空的 SSTable 会造成后续转储产生的 SSTable 不能合并成为一个，只有当 SSTable 的个数达到上限（32 个）以后才能合并；当转储 SSTable 个数比较多的情况下会影响查询的性能。

### 问题场景

一个 tablet 从日志流 1001 transfer 到 1002。

在 transfer 到 1002 日志流以后，tablet 中可能的有如下分布的两个 SSTable：

| Major SSTable | Values | Minor SSTable(transfer fill empty sstable) | Values |
| --- | --- | --- | --- |
| start_log_scn | 0 | start_log_scn | 1 |
| end_log_scn | 1000 | end_log_scn | 2000 |
| upper_trans_version | 1500 | upper_trans_version | 9223372036854775807 |

如果 transfer 以后出现了对应的空 SSTable ，那么 2000 以后的 SSTable 合并成为一个 SSTable 的时机需要等待 SSTable 的个数超过 32 个以后。

### 可能出现该问题的场景

- tablet 出现 transfer。
 - 对应的 tablet 当时不存在活跃的 MemTable。

## 关键诊断信息

### 事前巡检

查询内部表。

```shell
obclient> select * from oceanbase.__all_virtual_table_mgr where upper_trans_version = 9223372036854775807 and size = 0 and table_type != 0;

```

### 事后诊断

1. 检查查询慢的 tablet 是否发生过 transfer。

   ```shell
   obclient> select * from oceanbase.__all_virtual_transfer_task where tenant_id = xxx and tablet_list like '%xxx%';
   obclient> select * from oceanbase.__all_virtual_transfer_task_history where tenant_id = xxx and tablet_list like '%xxx%';

   ```

   如果上述的查询中有数据说明对应的 tablet 出现过 transfer。
 2. 检查对应的 tablet 是否包含一个 upper_trans_version 为 9223372036854775807 并且 size 为 0 的空 SSTable。

   ```shell
   obclient> select * from oceanbase.__all_virtual_table_mgr where upper_trans_version = 9223372036854775807 and size = 0 and tablet_id = xxx;

   ```

## 问题原因

内核 BUG。

## 问题的风险及影响

查询性能下降。

## 影响租户

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

## 适用版本

OceanBase 数据库 V4.2.1 GA（oceanbase-4.2.1.0-100000182023092722）及之后版本。

## 解决方法

升级到问题已修复版本。目前已经修复该问题的版本包括 OceanBase 数据库 V4.2.1 BP4（oceanbase-4.2.1.4-104000062024022914）。

## 规避方式

无。

上一篇

[CTE 计划下 SEMI JOIN 改写为 INNER JOIN 失败导致计划走偏的原因及解决方法](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000003272412)

下一篇

[OceanBase 数据库 V3.x 版本中对于 SQL 的 Group By 上拉改写，在遇到聚合函数中存在相关子查询的场景下，计划生成阶段报错 -4000](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000002309397) ![有帮助](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) 咨询热线
