MySQL重温笔记-索引
生活随笔
收集整理的这篇文章主要介绍了
MySQL重温笔记-索引
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
mysql分客户端、服务层、存储引擎层,而索引的实现就是在存储引擎层,因此各个不同的存储引擎之间的索引都有细微的差别。
【B-Tree索引】
- MyIsam使用前缀压缩技术使得索引更小,Innodb则按照原数据格式进行存储
- MyIsam索引通过数据的物理位置引用被索引的行,Innodb则根据主键引用被索引的行。
- 索引树中的节点是有序的,所以索引适合全键值、键值范围或键前缀查找(最左)。因为是顺序的,所以也适合排序。
- 联合索引的索引顺序很重要
【哈希索引】
- 基于哈希实现。
- 只有Memory引擎显式支持哈希索引
- 哈希索引只包含哈希值和行指针,而不存储字段值
- 哈希索引数据并不是按照索引值顺序存储的
- 哈希索引不支持部分索引列匹配查找,哈希索引值是使用索引列全部内容来计算哈希值的
- 哈希索引只支持等值比较查询
- 访问哈希索引的数据比较快,但是有多哈希值冲突的风险。
【全文索引】
查找匹配的是文本中的关键词,类似于搜索引擎
【索引的优点】
- 减少表数据的扫描数量,不用全表扫描了
- 避免排序和临时表【索引按顺序的,节省了排序时间】。
- 将随机I/O变为顺序I/O
【重点】【高效实用索引的技巧】
给text类型添加索引时,可以使用前缀索引,就是将值的内容截取一部分作为索引。
联合索引(多列索引)要注意列顺序。一般是考虑的因素是,使用率最高的列放到索引前列,避免随机IO,排序。
【MySQL能够使用三种方式应用WHERE条件,从好到坏的顺序为】
【查询的执行流程】
转载于:https://www.cnblogs.com/ymkfnuiwgij/p/8642587.html
总结
以上是生活随笔为你收集整理的MySQL重温笔记-索引的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: PTA实验作业-01
- 下一篇: Mysql字段类型选择