如何在MySQL表上创建、列出或删除索引

时间:2019-05-19 01:25:49  来源:igfitidea点击:

索引对于改进数据库表上的搜索查询非常有用。
例如,我们正在一个拥有数百万条记录的数据库表中搜索特定的记录。
我们将发现在启用索引的表上进行搜索查询所花费的时间非常少。

创建索引

这将在mysql表上创建索引。
这也允许重复的值。

CREATE INDEX index_name ON table_name (COLUMN_NAME1, COLUMN_NAME2, ...)

创建唯一索引

这将在mysql表上创建索引。
使用UNIQUE关键字将不允许重复值。

CREATE UNIQUE INDEX index_name ON table_name (COLUMN_NAME1, COLUMN_NAME2, ...)

创建索引的例子

对于本例,我有一个名为Users的表,在mysql数据库中有数千条记录。

现在使用以下命令根据列 username在表 Users上创建索引 Users_Idx1

mysql> CREATE INDEX Users_Idx1 ON Users (username);

在查询中使用UNIQUE关键字来创建具有唯一记录的索引。

mysql> CREATE UNIQUE INDEX Users_Idx1 ON Users (username);

查看索引示例

使用以下sql命令列出mysql表的所有索引。
下面的查询将从当前数据库的Users表中删除 Users_Idx1索引。

mysql> SHOW INDEX FROM Users;

删除索引示例

使用以下sql命令删除mysql表上的索引。

mysql>  ALTER TABLE Users DROP INDEX Users_Idx1;