---
title: "CREATE INDEX - OceanBase 数据库 V4.1.0 | OceanBase 文档中心"
description: CREATE INDEX 描述 该语句用来创建索引。索引是创建在表上的，对数据库表中一列或多列的值进行排序的一种结构。其作用主要在于提高查询的速度，降低数据库系统的性能开销。 OceanBase 数据库当前版本支持的索引类型包含唯一索引和非唯一索引，创建索引时可以通过 STORING(column_name_list…
---
切换语言

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

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

# CREATE INDEX

更新时间：2023-11-10 11:56:11

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.1.0/zh-CN/700.reference/400.development-reference/100.sql-syntax/300.common-tenant-of-oracle-mode/900.sql-statement-of-oracle-mode/100.ddl-of-oracle-mode/1600.create-index-of-oracle-mode.md)  

## 描述

该语句用来创建索引。索引是创建在表上的，对数据库表中一列或多列的值进行排序的一种结构。其作用主要在于提高查询的速度，降低数据库系统的性能开销。

OceanBase 数据库当前版本支持的索引类型包含唯一索引和非唯一索引，创建索引时可以通过 `STORING(column_name_list)` 指定索引表上的冗余列。索引表的冗余列除了包含用户指定添加的列外，还会自动添加上主键表的主键列（如果无主键表则包含 Hidden PK）。

#### 说明

在 OceanBase 数据库 Oracle 模式下，如果删除表中的任一索引列，则所创建的索引失效。

## 语法

```javascript
CREATE [UNIQUE] INDEX index_name
     ON table_name (index_col_name,...)
      [index_type] [index_options]
index_type:
      USING BTREE

index_options:
      index_option [index_option...]

index_option:
    GLOBAL | LOCAL
    | COMMENT 'string'
    | 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`。 建立索引的排序方式为：首先以 `index_col_name` 中第一个列的值排序；该列值相同的记录，按下一列名的值排序；以此类推。   #### 注意    每个列名后都支持 ASC（升序），不支持 DESC（降序）。 |
| column_name | 用于创建索引的列名。 |
| index_type | 索引类型，只支持 `USING BTREE`，以 B-Tree 为索引。 |
| UNIQUE | 指定为唯一索引。 |
| index_option | 指定索引选项，多个 `index_option` 以空格分隔。 |
| GLOBAL \| LOCAL | 指定该索引是全局索引或局部索引，默认是 `GLOBAL`。 |
| COMMENT | 指定注释。 |
| BLOCK_SIZE | 指定微块大小。 |
| STORING | 表示索引表中冗余存储某些列，以提高系统查询性能。 |

## 示例

- 创建表 `tbl1` 的索引。

  ```sql
  /* 创建表 tbl1 */
  obclient> CREATE TABLE tbl1 (col1 INT PRIMARY KEY, col2 VARCHAR(10));
  Query OK, 0 rows affected

  /* 创建表 tbl1 的索引 */
  obclient> CREATE INDEX tbl1_idx1 ON tbl1 (col1, col2);
  Query OK, 0 rows affected

  /* 查看表 tbl1 的索引 */
  obclient> SELECT * FROM USER_INDEXES WHERE table_name='TBL1'\G
  *************************** 1. row ***************************
               INDEX_NAME: TBL1_OBPK_1657184021525727
               INDEX_TYPE: NORMAL
              TABLE_OWNER: SYS
               TABLE_NAME: TBL1
               TABLE_TYPE: TABLE
               UNIQUENESS: UNIQUE
              COMPRESSION: ENABLED
            PREFIX_LENGTH: NULL
          TABLESPACE_NAME: NULL
                INI_TRANS: NULL
                MAX_TRANS: NULL
           INITIAL_EXTENT: NULL
              NEXT_EXTENT: NULL
              MIN_EXTENTS: NULL
              MAX_EXTENTS: NULL
             PCT_INCREASE: NULL
            PCT_THRESHOLD: NULL
           INCLUDE_COLUMN: NULL
                FREELISTS: NULL
          FREELIST_GROUPS: NULL
                 PCT_FREE: NULL
                  LOGGING: NULL
                   BLEVEL: NULL
              LEAF_BLOCKS: NULL
            DISTINCT_KEYS: NULL
  AVG_LEAF_BLOCKS_PER_KEY: NULL
  AVG_DATA_BLOCKS_PER_KEY: NULL
        CLUSTERING_FACTOR: NULL
                   STATUS: VALID
                 NUM_ROWS: NULL
              SAMPLE_SIZE: NULL
            LAST_ANALYZED: NULL
                   DEGREE: 1
                INSTANCES: NULL
              PARTITIONED: NO
                TEMPORARY: NULL
                GENERATED: NULL
                SECONDARY: NULL
              BUFFER_POOL: NULL
              FLASH_CACHE: NULL
         CELL_FLASH_CACHE: NULL
               USER_STATS: NULL
                 DURATION: NULL
        PCT_DIRECT_ACCESS: NULL
               ITYP_OWNER: NULL
                ITYP_NAME: NULL
               PARAMETERS: NULL
             GLOBAL_STATS: NULL
            DOMIDX_STATUS: NULL
          DOMIDX_OPSTATUS: NULL
           FUNCIDX_STATUS: NULL
               JOIN_INDEX: NO
  IOT_REDUNDANT_PKEY_ELIM: NULL
                  DROPPED: NO
               VISIBILITY: VISIBLE
        DOMIDX_MANAGEMENT: NULL
          SEGMENT_CREATED: NULL
         ORPHANED_ENTRIES: NULL
                 INDEXING: NULL
                     AUTO: NULL
  *************************** 2. row ***************************
               INDEX_NAME: TBL1_IDX1
               INDEX_TYPE: NORMAL
              TABLE_OWNER: SYS
               TABLE_NAME: TBL1
               TABLE_TYPE: TABLE
               UNIQUENESS: NONUNIQUE
              COMPRESSION: ENABLED
            PREFIX_LENGTH: NULL
          TABLESPACE_NAME: NULL
                INI_TRANS: NULL
                MAX_TRANS: NULL
           INITIAL_EXTENT: NULL
              NEXT_EXTENT: NULL
              MIN_EXTENTS: NULL
              MAX_EXTENTS: NULL
             PCT_INCREASE: NULL
            PCT_THRESHOLD: NULL
           INCLUDE_COLUMN: NULL
                FREELISTS: NULL
          FREELIST_GROUPS: NULL
                 PCT_FREE: NULL
                  LOGGING: NULL
                   BLEVEL: NULL
              LEAF_BLOCKS: NULL
            DISTINCT_KEYS: NULL
  AVG_LEAF_BLOCKS_PER_KEY: NULL
  AVG_DATA_BLOCKS_PER_KEY: NULL
        CLUSTERING_FACTOR: NULL
                   STATUS: VALID
                 NUM_ROWS: NULL
              SAMPLE_SIZE: NULL
            LAST_ANALYZED: NULL
                   DEGREE: 1
                INSTANCES: NULL
              PARTITIONED: NO
                TEMPORARY: NULL
                GENERATED: NULL
                SECONDARY: NULL
              BUFFER_POOL: NULL
              FLASH_CACHE: NULL
         CELL_FLASH_CACHE: NULL
               USER_STATS: NULL
                 DURATION: NULL
        PCT_DIRECT_ACCESS: NULL
               ITYP_OWNER: NULL
                ITYP_NAME: NULL
               PARAMETERS: NULL
             GLOBAL_STATS: NULL
            DOMIDX_STATUS: NULL
          DOMIDX_OPSTATUS: NULL
           FUNCIDX_STATUS: NULL
               JOIN_INDEX: NO
  IOT_REDUNDANT_PKEY_ELIM: NULL
                  DROPPED: NO
               VISIBILITY: VISIBLE
        DOMIDX_MANAGEMENT: NULL
          SEGMENT_CREATED: NULL
         ORPHANED_ENTRIES: NULL
                 INDEXING: NULL
                     AUTO: NULL
  2 rows in set

  ```
 - 创建表 `tbl2` 的唯一索引。

  ```sql
  /* 创建表 tbl2 */
  obclient> CREATE TABLE tbl2 (col1 INT, col2 INT, col3 INT, PRIMARY KEY(col1));
  Query OK, 0 rows affected

  /* 创建表 tbl2 的唯一索引索引 */
  obclient> CREATE UNIQUE INDEX tbl2_idx2 ON tbl2(col2) STORING(col3);
  Query OK, 0 rows affected

  /* 查看表 tbl2 的唯一索引 */
  obclient> SELECT * FROM USER_INDEXES WHERE table_name='TBL2'\G
  *************************** 1. row ***************************
              INDEX_NAME: TBL2_OBPK_1657184907465223
              INDEX_TYPE: NORMAL
             TABLE_OWNER: SYS
              TABLE_NAME: TBL2
              TABLE_TYPE: TABLE
              UNIQUENESS: UNIQUE
             COMPRESSION: ENABLED
           PREFIX_LENGTH: NULL
         TABLESPACE_NAME: NULL
               INI_TRANS: NULL
               MAX_TRANS: NULL
          INITIAL_EXTENT: NULL
             NEXT_EXTENT: NULL
             MIN_EXTENTS: NULL
             MAX_EXTENTS: NULL
            PCT_INCREASE: NULL
           PCT_THRESHOLD: NULL
          INCLUDE_COLUMN: NULL
               FREELISTS: NULL
         FREELIST_GROUPS: NULL
                PCT_FREE: NULL
                 LOGGING: NULL
                  BLEVEL: NULL
             LEAF_BLOCKS: NULL
           DISTINCT_KEYS: NULL
  AVG_LEAF_BLOCKS_PER_KEY: NULL
  AVG_DATA_BLOCKS_PER_KEY: NULL
       CLUSTERING_FACTOR: NULL
                  STATUS: VALID
                NUM_ROWS: NULL
             SAMPLE_SIZE: NULL
           LAST_ANALYZED: NULL
                  DEGREE: 1
               INSTANCES: NULL
             PARTITIONED: NO
               TEMPORARY: NULL
               GENERATED: NULL
               SECONDARY: NULL
             BUFFER_POOL: NULL
             FLASH_CACHE: NULL
        CELL_FLASH_CACHE: NULL
              USER_STATS: NULL
                DURATION: NULL
       PCT_DIRECT_ACCESS: NULL
              ITYP_OWNER: NULL
               ITYP_NAME: NULL
              PARAMETERS: NULL
            GLOBAL_STATS: NULL
           DOMIDX_STATUS: NULL
         DOMIDX_OPSTATUS: NULL
          FUNCIDX_STATUS: NULL
              JOIN_INDEX: NO
  IOT_REDUNDANT_PKEY_ELIM: NULL
                 DROPPED: NO
              VISIBILITY: VISIBLE
       DOMIDX_MANAGEMENT: NULL
         SEGMENT_CREATED: NULL
        ORPHANED_ENTRIES: NULL
                INDEXING: NULL
                    AUTO: NULL
  *************************** 2. row ***************************
              INDEX_NAME: TBL2_IDX2
              INDEX_TYPE: NORMAL
             TABLE_OWNER: SYS
              TABLE_NAME: TBL2
              TABLE_TYPE: TABLE
              UNIQUENESS: UNIQUE
             COMPRESSION: ENABLED
           PREFIX_LENGTH: NULL
         TABLESPACE_NAME: NULL
               INI_TRANS: NULL
               MAX_TRANS: NULL
          INITIAL_EXTENT: NULL
             NEXT_EXTENT: NULL
             MIN_EXTENTS: NULL
             MAX_EXTENTS: NULL
            PCT_INCREASE: NULL
           PCT_THRESHOLD: NULL
          INCLUDE_COLUMN: NULL
               FREELISTS: NULL
         FREELIST_GROUPS: NULL
                PCT_FREE: NULL
                 LOGGING: NULL
                  BLEVEL: NULL
             LEAF_BLOCKS: NULL
           DISTINCT_KEYS: NULL
  AVG_LEAF_BLOCKS_PER_KEY: NULL
  AVG_DATA_BLOCKS_PER_KEY: NULL
       CLUSTERING_FACTOR: NULL
                  STATUS: VALID
                NUM_ROWS: NULL
             SAMPLE_SIZE: NULL
           LAST_ANALYZED: NULL
                  DEGREE: 1
               INSTANCES: NULL
             PARTITIONED: NO
               TEMPORARY: NULL
               GENERATED: NULL
               SECONDARY: NULL
             BUFFER_POOL: NULL
             FLASH_CACHE: NULL
        CELL_FLASH_CACHE: NULL
              USER_STATS: NULL
                DURATION: NULL
       PCT_DIRECT_ACCESS: NULL
              ITYP_OWNER: NULL
               ITYP_NAME: NULL
              PARAMETERS: NULL
            GLOBAL_STATS: NULL
           DOMIDX_STATUS: NULL
         DOMIDX_OPSTATUS: NULL
          FUNCIDX_STATUS: NULL
              JOIN_INDEX: NO
  IOT_REDUNDANT_PKEY_ELIM: NULL
                 DROPPED: NO
              VISIBILITY: VISIBLE
       DOMIDX_MANAGEMENT: NULL
         SEGMENT_CREATED: NULL
        ORPHANED_ENTRIES: NULL
                INDEXING: NULL
                    AUTO: NULL
  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) 咨询热线
