SQL CREATE INDEX 语句

SQL CREATE INDEX 语句

CREATE INDEX 语句用于在数据库的表上创建索引,以加快数据检索速度。

用户无法看到索引,它们仅用于加速搜索/查询。

注意:更新带索引的表比更新不带索引的表更耗时(因为索引也必须更新)。因此,只应在经常被搜索的列上创建索引。

索引类型:非唯一索引和唯一索引

有两种类型的索引:

  • CREATE INDEX - 创建非唯一索引(允许重复值)
  • CREATE UNIQUE INDEX - 创建唯一索引(不允许重复值)

CREATE INDEX 语法

CREATE INDEX index_name
ON table_name (column1, column2, ...);

CREATE UNIQUE INDEX 语法

CREATE UNIQUE INDEX index_name
ON table_name (column1, column2, ...);

注意:不同数据库创建索引的语法各不相同。请检查您数据库中创建索引的语法!

CREATE INDEX 示例

以下 SQL 语句在 Persons 表的 LastName 列上创建了一个名为 idx_lastname 的非唯一索引:

CREATE INDEX idx_lastname
ON Persons (LastName);

如果要在多列组合上创建索引,可以在括号内列出列名,用逗号分隔:

CREATE INDEX idx_lname_fname
ON Persons (LastName, FirstName);

DROP INDEX 语句

DROP INDEX 语句用于移除索引。

SQL Server:

DROP INDEX table_name.index_name;

MySQL:

ALTER TABLE table_name
DROP INDEX index_name;

MS Access:

DROP INDEX index_name ON table_name;

DB2/Oracle:

DROP INDEX index_name;