如何在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;