MySQL 下 INDEX(索引)的使用
MySQL 下 INDEX(索引)的使用
INDEX 是什么
写不下去了,简介原文于 https://www.runoob.com/mysql/mysql-index.html ,进行了一定的修改。
MySQL INDEX 的建立对于 MySQL 的高效运行是很重要的,INDEX 可以大大提高 MySQL 的检索速度。
打个比方,如果合理的设计且使用 INDEX 的 MySQL 是一辆兰博基尼的话,那么没有设计和使用 INDEX 的 MySQL 就是一个人力三轮车。
拿汉语字典的目录页(索引)打比方,我们可以按拼音、笔画、偏旁部首等排序的目录(索引)快速查找到需要的字。
INDEX 分单列索引和组合索引。单列索引,即一个 INDEX 只包含单个列,一个表可以有多个单列索引,但这不是组合索引。组合索引,即一个 INDEX 包含多个列。
创建 INDEX 时,你需要确保该 INDEX 是应用在 SQL 查询语句的条件(一般作为 WHERE 子句的条件)。
实际上,INDEX 也是一张表,该表保存了主键与索引字段,并指向实体表的记录。
上面都在说使用 INDEX 的好处,但过多的使用 INDEX 将会造成滥用。因此 INDEX 也会有它的缺点:虽然 INDEX 大大提高了查询速度,同时却会降低更新表的速度,如对表进行 INSERT、UPDATE 和 DELETE。因为更新表时,MySQL 不仅要保存数据,还要保存一下索引文件。
建立 INDEX 会占用磁盘空间的索引文件。
索引类型
Normal
普通索引
Unique
唯一索引。当字段是唯一时使用,如用户名、手机号。
Full Text
全文搜索索引。用于搜索较长的文本,当较短的文本,使用普通索引即可。
索引方法
Innodb 引擎和 MyISAM 引擎默认的索引方法是 B-Tree。
索引方法分为 B-Tree 和 Hash,想要跟深入了解,可以查看 https://www.cnblogs.com/hanybblog/p/6485419.html
Last updated: 2019-07-28
This blog is under a CC BY-NC-SA 4.0 International License
本文链接:http://mgzu.github.io/2019/07/28/Use-of-INDEX-under-MySQL/