Mysql教程

7.3 删除索引

删除索引是指将表中已经存在的索引删除掉。一些不再使用的索引会降低表的更新速度,影响数据库的性能。对于这样的索引,应该将其删除。本节将详细讲解删除索引的方法。

对应已经存在的索引,可以通过DROP语句来删除索引。基本形式如下:

DROP INDEX索引名ON表名;

其中,“索引名”参数指要删除的索引的名称;“表名”参数指索引所在的表的名称。

【示例7-19】下面删除indexl表的索引。在删除索引之前,使用SHOW CREATE TABLE语句来查看索引的名称。SHOW CREATE TABLE语句执行如下:

*************************** 1. row ***************************
       Table: index1
Create Table: CREATE TABLE `index1` (
  `id` int(11) DEFAULT NULL,
  `name` varchar(20) DEFAULT NULL,
  `sex` tinyint(1) DEFAULT NULL,
  KEY `id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
1 row in set (0.00 sec)

结果显示,索引的名称为id。然后执行DROP语句来删除索引。SQL代码如下:

DROP INDEX id ON index1;

代码执行结果如下:

mysql> DROP INDEX id ON index1 ;
Query OK, 0 rows affected (0.02 sec)
Records: 0 Duplicates: 0 Warnings: 0

结果显示索引删除成功。为了确认索引是否已经成功删除,再次执行SHOW CREATE TABLE语句来查看indexl表的结构。SHOW CREATE TABLE语句执行如下:

mysql> show create table index1 \G;
*************************** 1. row ***************************
       Table: index1
Create Table: CREATE TABLE `index1` (
  `id` int(11) DEFAULT NULL,
  `name` varchar(20) DEFAULT NULL,
  `sex` tinyint(1) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
1 row in set (0.00 sec)

结果显示,名为index1的索引已经不存在了。


关注微信获取最新动态