MySQL的索引是什么:
索引是帮助MySQL高效获取数据的排好序的数据结构
索引的数据结构包括:
二叉树
红黑树
Hash表
B-Tree
索引存储方式
索引存储是按照KV方式进行存储的,key是这个索引元素...1-7变成如下
红黑树也是二叉树,也叫做自平衡二叉树,二叉平衡树
但是MySQL最后之所以没有选择红黑树,因为红黑树在某些场景下并不能满足需求,因为用红黑树存储索引在某些情况下有如下问题:
1,层级太多...一般索引都是用INT OR BIGINT
以bigint为例,比如这个索引15一般MySQL给他存储的是8B,然后他和56之间的空白格,这个是下一排的地址.是一个指针,索引和指针成对出现,这个一般是存储...和mylsam引擎下,可以选择hash索引,但是你会发现,点击保存,自动变成了Btree,如果是memory引擎,他就可以选择hash索引,memory存储引擎支持hash索引存储和btree方式
如果使用...Col1=1
但是,假如执行的是select * from a where Col234,这个就是B+更快乐,绝大部分场景都是范围查找吧.所以MySQL默认是B+tree,但是也可以选择