本文共 795 字,大约阅读时间需要 2 分钟。
数据库的索引好比是新华字典的音序表,它是对数据库一列或多列的值进行排序后的一种结构,其目的是提高表中数据的查询速度。MySQL中的索引分为
索引种类 | 说明 |
普通索引 | 普通索引是由KEY或者INDEX定义的索引,是基本索引类型,可以创建在任何数据中 |
唯一索 引 | 唯一索引是由UNIQUE定义的索引,该所因所在的字段的值必须唯一 |
全文索引 | 全文索引是由FULLTEXT定义的索引,他只能创建在CHAR ,VARCHAR,TEXT类型的字段上 |
单列索引 | 单列索引指的是在表中单个字段上创建索引,他可以是普通索引唯一索引,全文索引 |
多列索引 | 多列索引指的是在表中多个字段上创建索引,只有在查询条件中使用了这些字段中的第一个字段时,该索引才会被使用, |
以创建普通索引为例:
在创建表t1时,在t1表中id字段上建立索引,SQL语句如下:
CREATE TABLE t1(id INT, name VARCHAR(20), socre FLOAT, INDEX (id));
查看表的结构,结果如下:
可以看到表t1的id字段已经创建了一个名称为id的索引,为了查看索引是否被使用我们可以使用EXPLAIN语句进行查看,查询结果如下:
在图中可以看到key和possible_key都为id,这说明id索引已经存在且被使用
1、使用ALTER TABLE删除索引 其基本语法格式为:
ALTER TABLE 表名 DROP INDEX 索引名
举例删除表t1的索引,首先通过SHOW CREATE TABLE 语句查看表t1的信息,信息如下所示:
可以看到这其中有一个名为id的索引并且指向id字段
删除索引之后执行刚刚的查询语句,结果如下:
可以看到名为id的索引被删除了