---
title: "分区表的索引 | OceanBase 文档中心"
description: 分区表的索引 分区表的查询性能跟 SQL 中条件有关。当 SQL 中带上拆分键时，OceanBase 会根据条件做分区裁剪，只用搜索特定的分区即可；如果没有拆分键，则要扫描所有分区。 背景信息 分区表也可以通过创建索引来提升性能。跟分区表一样，分区表的索引也可以分区或者不分区。 如果分区表的索引不分区，就是一个全局索…
---
切换语言

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

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

# 分区表的索引

更新时间：2026-06-23 12:22:15

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.0.0/zh-CN/300.developer-guide/200.create-and-manage-database-objects/700.create-and-manage-partition-table/700.partition-table-index.md)  

分区表的查询性能跟 SQL 中条件有关。当 SQL 中带上拆分键时，OceanBase 会根据条件做分区裁剪，只用搜索特定的分区即可；如果没有拆分键，则要扫描所有分区。

## 背景信息

分区表也可以通过创建索引来提升性能。跟分区表一样，分区表的索引也可以分区或者不分区。

- 如果分区表的索引不分区，就是一个全局索引（GLOBAL），是一个独立的分区，索引数据覆盖整个分区表。
 - 如果分区表的索引分区了，根据分区策略又可以分为两类。一是跟分区表保持一致的分区策略，则每个索引分区的索引数据覆盖相应的分区表的分区，这个索引又叫本地索引（LOCAL）。 二是作为 GLOBAL 索引可以有自己独立的分区方式。

建议尽可能的使用本地索引，只有在有必要的时候才使用全局索引。其原因是全局索引会降低 DML 的性能，DML 可能会因此产生分布式事务。

通常创建索引时默认都是本地索引，全局索引需要在后面增加关键字 GLOBAL。

## 语法

```sql
CREATE [UNIQUE] INDEX index_name
     ON table_name (index_col_name,...)
      [index_type] [index_options]
      [partition_option]

index_type:
      USING BTREE

index_options:
      index_option [index_option...]

index_option:
    GLOBAL | LOCAL
    | COMMENT 'string'
    | COMPRESSION [=] {NONE | LZ4_1.0 | LZO_1.0 | SNAPPY_1.0 | ZLIB_1.0}
    | BLOCK_SIZE [=] size
    | STORING(column_name_list)
    | VISIBLE | INVISIBLE

index_col_name:
    column_name [(length)] [ASC | DESC]

column_name_list:
    column_name [, column_name...]

```

## 参数解释

| **参数** | **描述** |
| --- | --- |
| index_name | 指定要创建的索引名称。 |
| table_name | 指定索引所属的表名。 |
| index_col_name | 指定索引的列名，每个列名后都支持 ASC（升序），不支持 DESC（降序）。默认为升序。   建立索引的排序方式为：首先以 `index_col_name` 中第一个列的值排序；该列值相同的记录，按下一列名的值排序；以此类推。 |
| column_name | 用于创建索引的列名。 |
| length | 对于字符串列，可以使用 `col_name(length)` 语法截取字符串的部分用于创建索引。   支持的数据类型有 `CHAR`、`VARCHAR`、`BINARY` 与 `VARBINARY`。 |
| index_type | 索引类型，只支持 `USING BTREE`，表示使用 B-Tree 索引。 |
| UNIQUE | 指定为唯一索引。 |
| index_option | 指定索引选项，多个 `index_option` 以空格分隔。 |
| GLOBAL \| LOCAL | 指定该索引是全局索引或局部索引，默认是 `LOCAL`。 |
| COMMENT | 指定注释。 |
| COMPRESSION | 指定压缩算法。 |
| BLOCK_SIZE | 指定微块大小。 |
| STORING | 表示索引表中冗余存储某些列，以提高系统查询性能。 |

## 示例

创建分区表的本地索引。

1. 创建 `t_log_part_by_range_hash` 表。

   ```sql
   CREATE TABLE t_log_part_by_range_hash (log_date int primary key) ;

   ```
 2. 创建分区表的本地索引 `idx_log_date`。

   ```sql
   CREATE INDEX idx_log_date ON t_log_part_by_range_hash(log_date);

   ```
 3. 查看已创建的分区索引 `idx_log_date`。

   ```sql
   obclient> SHOW INDEX FROM t_log_part_by_range_hash;
   +--------------------------+------------+--------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+-----------+---------------+---------+
   | Table                    | Non_unique | Key_name     | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment   | Index_comment | Visible |
   +--------------------------+------------+--------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+-----------+---------------+---------+
   | t_log_part_by_range_hash |          0 | PRIMARY      |            1 | log_date    | A         |        NULL | NULL     | NULL   |      | BTREE      | available |               | YES     |
   | t_log_part_by_range_hash |          1 | idx_log_date |            1 | log_date    | A         |        NULL | NULL     | NULL   |      | BTREE      | available |               | YES     |
   +--------------------------+------------+--------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+-----------+---------------+---------+
   2 rows in set

   ```

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