⌘+k ctrl+k
1.1.3 (stable)
Search Shortcut cmd + k | ctrl + k
CREATE INDEX Statement

CREATE INDEX

CREATE INDEX 语句在指定表的指定列上构建索引。支持在多个列/表达式上的复合索引。

Note

支持一维索引,而多维索引尚不支持。

Examples

在表 films 的列 id 上创建一个唯一索引 films_id_idx

CREATE UNIQUE INDEX films_id_idx ON films (id);

创建索引 s_idx,允许在表 films 的列 revenue 上存在重复值:

CREATE INDEX s_idx ON films (revenue);

genreyear列上创建复合索引gy_idx

CREATE INDEX gy_idx ON films (genre, year);

在表 integers 的列 jk 的和的表达式上创建索引 i_index

CREATE INDEX i_index ON integers ((j + k));

Parameters

Name Description
UNIQUE 使系统在创建索引时(如果数据已存在)以及每次添加数据时检查表中的重复值。尝试插入或更新会导致重复条目的数据将生成错误。
name 要创建的索引的名称。
table 要索引的表的名称。
column 要索引的列的名称。
expression 基于表中的一个或多个列的表达式。通常,表达式必须用括号括起来,如语法所示。但是,如果表达式具有函数调用的形式,则可以省略括号。
index type 指定的索引类型,请参阅 Indexes。可选。
option 索引选项,形式为布尔真值(例如,is_cool)或键值对(例如,my_option = 2)。可选。

Syntax

CREATE UNIQUE INDEX name ON table USING index type ( column ( expression ) , ) WITH ( option , )

DROP INDEX

DROP INDEX 从数据库系统中删除一个现有的索引。

Examples

移除索引 title_idx:

DROP INDEX title_idx;

Parameters

Name Description
IF EXISTS 如果索引不存在,不要抛出错误。
name 要删除的索引的名称。

Syntax

DROP INDEX IF EXISTS name