MySQL索引及存储问题
1 索引简述
MySQL中的索引结构
在MySQL中,使用最多的索引结构是B+树索引,此外还有哈希索引,但很少使用。
哈希表原则上查找更快,但基本不使用,因为哈希表解决不了范围查找,只能等值查询,无法用于排序!
B+树的特点
1)B+树存储时所有非叶节点存储索引,叶节点存储数据。聚集索引的话叶节点存储的是全部数据,非聚集索引只存储主键ID和索引值。
2)INnoDB中最小储存单元是页,默认大小为16KB,而文件系统中最小单元是磁盘块,为4KB。
3)B+树的任务只是通过索引找到对应的数据页,而数据页大小16KB,里面存储了多行数据。
4)B+树索引一个索引页可以存储多少个索引:以bigint建索引的话,一个bigint为8字节,光存索引值还不行,还得存一个指针找到下一个索引页或数据页,InnoDB中指针大小为6个字节。索引result=16*