---
title: "关于分区表 | OceanBase 文档中心"
description: 关于分区表 在 OceanBase 数据库中，分区是指根据一定的规则，把一个表分解成多个更小的、更容易管理的部分。每个分区都是一个独立的对象，具有自己的名称和可选的存储特性。本文主要介绍分区的相关概念以及使用分区的好处。 概述 对于访问数据库的应用而言，逻辑上访问的只有一个表或一个索引，但是实际上这个表可能由数十个物…
---
切换语言

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

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

# 关于分区表

更新时间：2026-07-04 20:42:14

在 OceanBase 数据库中，分区是指根据一定的规则，把一个表分解成多个更小的、更容易管理的部分。每个分区都是一个独立的对象，具有自己的名称和可选的存储特性。本文主要介绍分区的相关概念以及使用分区的好处。

## 概述

对于访问数据库的应用而言，逻辑上访问的只有一个表或一个索引，但是实际上这个表可能由数十个物理分区对象组成，每个分区都是一个独立的对象，可以独自处理访问，也可以作为表的一部分处理访问。分区对应用来说是完全透明的，不影响应用的业务逻辑。

从应用程序的角度来看，只存在一个 Schema 对象。访问分区表不需要修改 SQL 语句。分区对于许多不同类型的数据库应用程序非常有用，尤其是那些管理大量数据的应用程序。

分区表可以由一个或多个分区组成，这些分区是单独管理的，可以独立于其他分区运行。表可以是已分区或未分区的，即使已分区表仅由一个分区组成，该表也不同于未分区表，非分区表不能添加分区。​

分区表也可以由一个或多个表分区段组成。OceanBase 数据库将每个表分区的数据存储在自己的 SStable 中，每个 SStable 包含表数据的一部分。

## 优势

- 提高可用性

  分区不可用并不意味着对象不可用。查询优化器自动从查询计划中删除未引用的分区。因此，当分区不可用时，查询不受影响。
 - 更轻松地管理对象

  分区对象具有可以集体或单独管理的片段。DDL 语句可以操作分区而不是整个表或索引。因此，可以对重建索引或表等资源密集型任务进行分解。例如，可以一次只移动一个分区。如果出现问题，只需要重做分区移动，而不是表移动。此外，对分区进行 `TRUNCATE` 操作可以避免大量数据被 `DELETE`。
 - 减少 OLTP 系统中共享资源的争用

  在 TP 场景中，分区可以减少共享资源的争用。例如，DML 分布在许多分区而不是一个表上。
 - 增强数据仓库中的查询性能

  在 AP 场景中，分区可以加快即时查询的处理速度。分区键有天然的过滤功能。例如，查询一个季度的销售数据，当销售数据按照销售时间进行分区时，仅仅需要查询一个分区或者几个分区，而不是整个表。
 - 提供更好的负载均衡效果

  OceanBase 数据库的存储单位和负载均衡单位都是分区。不同的分区可以存储在不同的节点。因此，一个分区表可以将不同的分区分布在不同的节点，这样可以将一个表的数据比较均匀的分布在整个集群。

## 分区类型

OceanBase 数据库 Oracle 模式目前支持的分区类型如下：

- Range 分区
 - List 分区
 - Hash 分区
 - 组合分区（二级分区）

### Range 分区

Range 分区根据分区表定义时为每个分区建立的分区键值范围，将数据映射到相应的分区中。它是常见的分区类型，经常跟日期类型一起使用。例如：可以将业务日志表按日/周/月分区。

### List 分区

List 分区使得您可以显式的控制记录行如何映射到分区，具体方法是为每个分区的分区键指定一组离散值列表，这点跟 Range 分区和 Hash 分区都不同。List 分区的优点是可以方便的对无序或无关的数据集进行分区。

### Hash 分区

Hash 分区适合于对不能用 Range 分区、List 分区方法的场景，它的实现方法简单，通过对分区键上的 Hash 函数值来散列记录到不同分区中。如果您的数据符合下列特点，使用 Hash 分区是个很好的选择：

- 不能指定数据的分区键的列表特征。
 - 不同范围内的数据大小相差非常大，并且很难手动调整均衡。
 - 使用 Range 分区后数据聚集严重。
 - 并行 DML、分区剪枝和分区连接等性能非常重要。

### 二级分区

二级分区通常是先使用一种分区策略，然后在子分区再使用另外一种分区策略，适合于业务表的数据量非常大时。使用组合分区能发挥多种分区策略的优点。

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