---
title: "并行执行调优技巧 - OceanBase 数据库 V4.3.5 | OceanBase 文档中心"
description: 并行执行调优技巧 本文介绍 OceanBase 的基础并行执行调优方法，涵盖统计信息收集、分区策略优化、并行度配置、索引优化及复制表应用。 手动收集统计信息 若优化器统计信息过期，可能导致执行计划质量下降。不同版本的语法差异需注意： V3.2.x 版本优化器统计信息 统计信息概述 V3.2.x 版本 V3.2 手动收…
---
切换语言

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

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.3.5 LTS

# 并行执行调优技巧

更新时间：2026-04-07 20:57:20

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.3.5/zh-CN/700.reference/1000.performance-tuning-guide/500.sql-optimization/350.parallel-execution/600.parallel-execution-tuning-tips.md)  

本文介绍 OceanBase 的基础并行执行调优方法，涵盖统计信息收集、分区策略优化、并行度配置、索引优化及复制表应用。

## 手动收集统计信息

若优化器统计信息过期，可能导致执行计划质量下降。不同版本的语法差异需注意：

- [V3.2.x 版本优化器统计信息](https://www.oceanbase.com/docs/enterprise-oceanbase-database-cn-10000000000945957)
 - [统计信息概述](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000002016223)

### V3.2.x 版本

V3.2 手动收集主表（索引表不支持）的语法如下：

**MySQL 模式语法：**

```sql
-- 先需要开启 analyze 语法支持：
ALTER SYSTEM SET enable_sql_extension = true;

-- 收集用户 TEST 的表 T1 的统计信息，所有列的桶个数设定为 auto 策略：
ANALYZE TABLE T1 COMPUTE STATISTICS FOR ALL COLUMNS SIZE AUTO;

```

**Oracle 模式语法：**

```sql
-- 收集用户 TEST 的表 T1 的全局级别的统计信息，所有列的桶个数设定为 auto 策略：
CALL dbms_stats.gather_table_stats('TEST', 'T1', granularity=>'GLOBAL', method_opt=>'FOR ALL COLUMNS SIZE AUTO');

-- 或使用 analyze 语法：
-- 收集用户 TEST 的表 T1 的统计信息，所有列的桶个数设定为 auto 策略：
ANALYZE TABLE T1 COMPUTE STATISTICS FOR ALL COLUMNS SIZE AUTO;

```

### V4.x 版本

支持主表和索引表的统计信息收集：

-- 收集用户 TEST 的表 T1 的索引 IDX 的索引统计信息，并行度4（IDX 不唯一，需指定表名称）：
CALL dbms_stats.gather_index_stats('TEST', 'IDX', degree=>4, tabname=>'T1');

```

-- 收集用户 TEST 的索引 IDX 的索引统计信息，并行度4（IDX 唯一，无需指定表名称）：
CALL dbms_stats.gather_index_stats('TEST', 'IDX', degree=>4);

```

## 使用 Partition Wise Join 修改分区方式

在 POC 场景中，如果有大表 `JOIN`，并且在业务允许的前提下，可以让大表使用相同的分区方式，并且将它们绑定到同一个表组上，这样可以实现性能最佳的 `partition wise join`。

使用 `partition wise join` 时，并行度也要调整得和分区数相适应，这样可以获得最佳性能。

## 适配并行度与分区数

一般来说，并行度与分区数符合一定的整比例关系（如分区数为 8，则并行度设为 4、8、16 等），能得到较好的性能。

更多信息，请参考 [并行执行](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000002013746) 中的通过均衡负载来优化性能。

## 创建合适的索引

创建合适的索引，能减少数据的扫描量，可以提高并行执行性能。在哪些表、哪些列上建索引，没有一个通用的方案，需要基于具体 SQL 具体分析。

## 创建复制表（V4.2+ 版本）

V4.2 及之后版本，通过创建复制表，能减少数据重分布，可以提高并行执行性能。

关于复制表的详细介绍参考 [复制表介绍](https://www.oceanbase.com/knowledge-base/oceanbase-database-20000000027)、[复制表（MySQL 模式）](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000002016771)和[复制表（Oracle 模式）](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000002016794)。

## 相关文档

- [手动收集统计信息](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000002017252)

 上一篇 下一篇 ![有帮助](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) 咨询热线
