MySQL 数据库索引

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_40788630/article/details/82915734

数据库的索引好比是新华字典的音序表,它是对数据库一列或多列的值进行排序后的一种结构,其目的是提高表中数据的查询速度。MySQL中的索引分为

索引类别
索引种类 说明
普通索引 普通索引是由KEY或者INDEX定义的索引,是基本索引类型,可以创建在任何数据中

唯一索 引       

唯一索引是由UNIQUE定义的索引,该所因所在的字段的值必须唯一
全文索引 全文索引是由FULLTEXT定义的索引,他只能创建在CHAR ,VARCHAR,TEXT类型的字段上
单列索引 单列索引指的是在表中单个字段上创建索引,他可以是普通索引唯一索引,全文索引
多列索引 多列索引指的是在表中多个字段上创建索引,只有在查询条件中使用了这些字段中的第一个字段时,该索引才会被使用,

1、创建索引

以创建普通索引为例:

在创建表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索引已经存在且被使用

2、删除索引

1、使用ALTER TABLE删除索引  其基本语法格式为:

ALTER TABLE 表名 DROP INDEX 索引名

举例删除表t1的索引,首先通过SHOW CREATE TABLE 语句查看表t1的信息,信息如下所示:

可以看到这其中有一个名为id的索引并且指向id字段

删除索引之后执行刚刚的查询语句,结果如下:

可以看到名为id的索引被删除了

猜你喜欢

转载自blog.csdn.net/qq_40788630/article/details/82915734