MySql的初学习 -- 第八章 -- 索引


博客说明

文章内容输出来源:拉勾教育Java就业急训营

索引概念

可以对数据表的字段创建索引来提高查询速度

索引的分类

索引 功能
主键索引(primary key) 主键是一个唯一性的索引,每个表中只能有一个主键
唯一索引(unique) 索引列的所有数据只能出现一次,必须是唯一
普通索引(index) 最常见的索引,作用就是提高对数据的访问速度

表对应的索引被保存在一个索引文件中,如果对数据进行增删改操作,都会使MySql对索引文件进行更新
不能把所有字段都加上索引,因为每对数据进行增删改操作,MySql都会更新索引文件,反而会降低速度

索引文件目录:C:/ProgramData/MySQL/MySQL Server 5.7/Data/数据库/
.frm文件:表结构
.ibd文件:表数据、索引信息

主键索引

和之前一样设置主键即可
MySql的初学习 – 第七章 – 多表、外键、数据库设计

唯一索引

唯一索引的创建可以使用唯一约束的办法来创建,也可以使用下面的方法

-- 格式:CREATE UNIQUE INDEX 索引名 ON 表名(列名(长度)); -- 长度可以不写
CREATE UNIQUE INDEX ind_name on student(name);

普通索引

-- 格式:CREATE INDEX 索引名 ON 表名(列名(长度)); -- 长度可以不写
CREATE INDEX ind_name on student(name);
-- 推荐
-- 添加、修改索引
-- 格式:ALTER TABLE 表名 ADD INDEX 索引名 (列名);-- 可以修改也能添加索引
ALTER TABLE student ADD INDEX ind_name(name);

删除索引

-- 格式:ALTER TABLE 表名 DROP INDEX  索引名;
ALTER TABLE student DROP INDEX ind_name;

创建索引的原则

优先选择为 经常出现在 查询条件或者排序、分组后面的字段创建索引

索引的优点

  1. 可以提高查询速度
  2. 减少查询中分组和排序的时间
  3. 通过创建唯一索引保证数据的唯一性

索引的确定

  1. 创建和维护索引需要时间,数据量越大,时间约长
  2. 表中的数据进行增删改操作时,索引也需要进行维护,降低了维护的速度
  3. 索引文件需要占用磁盘空间

猜你喜欢

转载自blog.csdn.net/zy3062231314/article/details/113018006