MySQL的索引是什么:
索引是帮助MySQL高效获取数据的排好序的数据结构
索引的数据结构包括:
二叉树
红黑树
Hash表
B-Tree
索引存储方式
索引存储是按照KV方式进行存储的,key是这个索引元素...,查找性能优化很高
红黑树的索引要是将1-7变成如下
红黑树也是二叉树,也叫做自平衡二叉树,二叉平衡树
但是MySQL最后之所以没有选择红黑树,因为红黑树在某些场景下并不能满足需求,因为用红黑树存储索引在某些情况下有如下问题...一般索引都是用INT OR BIGINT
以bigint为例,比如这个索引15一般MySQL给他存储的是8B,然后他和56之间的空白格,这个是下一排的地址.是一个指针,索引和指针成对出现,这个一般是存储...假如一个三层的B+树放满了,就是1170117016=两千两百万
所以就可能千万级别数据只需要查询三层
hash表存储方式
MySQL的索引也可以按照hash表存储方式,
MyISAM和InnoDB存储引擎...:只支持BTREE索引, 也就是说默认使用BTREE,不能够更换,
但是hash索引某些存储引擎比如innodb是不支持的,除非经过特殊设置
hash表索引在MySQL用的很少
虽然用navicat在innodb