1.mysql 的b+树结构 底层的叶子结点的指针是双向的目的是为了范围查找。
2.mysql里的节点是Page,大小16k
3.Int类型4b大小 s字符串
4.查找数据mysql进行磁盘io,把数据放入内存,cpu操作线程从内存中取出
5.mysql数据会把数据一次性查找出放入page中
6.插入磁盘的时候实际上是插入page对象
7.Mysql插入的时就进行了排序
8.根据页目录查找,页目录存放最小值
9.innerdb 是六条对应一组
10.总之如果查找一个page就是一次io查找所有数据放入内存,然后根据条件查找内存中的数据,所以并不是多次io
11.如果超过一个page,那么如何管理这么多page呢:新增页目录索引目录,就是b+树结构
12.创建联合索引(a,b,c),那就是单独建立只有abc三字段的B+树
那么如何应对select *很简单就在abc这个树里面存入主键树的主键,然后通过这个主键去主键索引树里面就能找到所有信息,这个操作也叫回表
13.idnex comission 条件索引
14.根据key_length判断用到了几个索引比如用到一个字段就是5三个就是15
15.mysql范围查找时如果需要回表多次,他就不会选择走索引
16.单独查一个字段不需要回表查所有信息
17.order by,group BY会不会走索引取决于mysql判断回表的代价是否小于排序或者分组