01、目标
掌握mysql底层索引优化的原理
02、分析
MySql底层的数据结构主要是基于Hash 和 B+Tree
03、底层数据结构分析
Btree 还是B+tree 都是通过最原始的数据的结构:二叉树
B-tree树即B树,B即Balanced(平衡得意思),平衡的意思,*B-*树又称为多路平衡查找树。因为B树的原英文名称为B-tree, B-Tree是为磁盘等待外存设备设计的一种平衡查找树。每个节点包含key和data。
系统从磁盘读取数据到内存时以磁盘块block
为基本单位的,位于同一个磁盘块中
的数据会被一次性读取出来,不是需要什么取取什么。
InnoDB存储引擎中有页Page,页也是磁盘管理的最小单位。
InnoDB存储引擎中默认每个页大小为16KB,通过innodb_page_size将页大小设置为4k\8k\16k.
mysql> show variables like 'innodb_page_size';