MySQL的索引是什么:
索引是帮助MySQL高效获取数据的排好序的数据结构
索引的数据结构包括:
二叉树
红黑树
Hash表
B-Tree
索引存储方式
索引存储是按照KV方式进行存储的,key是这个索引元素...,查找性能优化很高
红黑树的索引要是将1-7变成如下
红黑树也是二叉树,也叫做自平衡二叉树,二叉平衡树
但是MySQL最后之所以没有选择红黑树,因为红黑树在某些场景下并不能满足需求,因为用红黑树存储索引在某些情况下有如下问题...假如一个三层的B+树放满了,就是1170117016=两千两百万
所以就可能千万级别数据只需要查询三层
hash表存储方式
MySQL的索引也可以按照hash表存储方式,
MyISAM和InnoDB存储引擎...和mylsam引擎下,可以选择hash索引,但是你会发现,点击保存,自动变成了Btree,如果是memory引擎,他就可以选择hash索引,memory存储引擎支持hash索引存储和btree方式
如果使用...Col1=1
但是,假如执行的是select * from a where Col234,这个就是B+更快乐,绝大部分场景都是范围查找吧.所以MySQL默认是B+tree,但是也可以选择