您可以通过 CREATE INDEX 语句为表创建索引。
OceanBase 数据库支持在非分区表和分区表上创建索引,索引可以是局部索引或全局索引,也可以是唯一索引或普通索引。如果是分区表的唯一局部索引,则必须包含表分区的分区键。
本节主要介绍如何在非分区表上创建索引,分区表上索引的创建请参见 创建分区表索引 章节。
创建索引的 SQL 语法格式如下:
CREATE [UNIQUE] INDEX index_name ON table_name ( column_list ) [LOCAL | GLOBAL] [ PARTITION BY column_list PARTITIONS N ] ;
说明
索引名称在租户范围内不能重复。
index_name:索引名。UNIQUE:代表唯一索引。table_name:表名,指需要创建索引的表。column_list:指出对哪些列进行索引,多列时各列之间用逗号分隔。LOCAL:局部索引。GLOBAL:全局索引。在创建索引时如果不显式指定global或local,则默认是global。PARTITION BY column_list PARTITIONS N:指定分区方式及类型。
为非分区表创建普通索引。示例如下:
obclient> CREATE INDEX t1_name_ind ON t1(name);
Query OK, 0 rows affected (0.43 sec)
obclient> SELECT index_name,index_type,table_owner,table_name,uniqueness FROM user_indexes WHERE table_name='T1';
+--------------------------+------------+-------------+------------+------------+
| INDEX_NAME | INDEX_TYPE | TABLE_OWNER | TABLE_NAME | UNIQUENESS |
+--------------------------+------------+-------------+------------+------------+
| T1_OBPK_1585822641424088 | NORMAL | TPCC | T1 | UNIQUE |
| T1_NAME_IND | NORMAL | TPCC | T1 | NONUNIQUE |
+--------------------------+------------+-------------+------------+------------+
2 rows in set「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




