Mysql 索引的学习

索引(Index)是帮助快速检索出数据的数据结构

作用:快速检索

本质:数据结构

数据结构:数组、链表、图、树、队列...

本质:存储数据(推荐学校网址:https://www.cs.usfca.edu/~galles/visualization/Algorithms.html

hash 散链表:取模13 一次查找。缺点:不支持范围查找

二叉树:支持范围查找。缺点:不平衡

扫描二维码关注公众号,回复: 5809943 查看本文章

红黑树:和二叉树比较,相对平衡(还是不平衡)。

B+Tree:

Mysql索引是如何存储的

引擎是表级别的

MyISAM引擎(非聚集索引)

.frm :创建表的文件

.MYD:数据存储文件

.MYI:索引文件

select * from user where id = 7

select *  from user where username = 'c'

重复度很高的字段不适应建立索引(缓存page 大小约为16k 可能缓存不了太多的数据)

Innodb引擎

.frm :创建表的文件

.IDB:索引+数据文件

非ID的索引 也是ID为主键的索引结构

偷懒下,降低存储空间 ,减少了索引的创建

猜你喜欢

转载自blog.csdn.net/wangfei19910000/article/details/89082310