索引的本质
控制树的高度,扫描磁盘就少几次 每个节点都是索引的集
B+ tree 多叉平衡树 一个节点 16kb , (bigint 8byte)
数据引擎: innodb和myisam区别
innodb在硬盘中只保留两个文件,表结构和 数据索引,数据
myisam有三个文件,表结构,数据索引,数据
聚集索引: 叶子节点有完整的数据
非聚集索引: 叶子节点只有磁盘地址 ,指针指向数据的地址
为什么inndb表必须有主键?
这种表存储的只有结构和数据加索引两个文件,就散你没有加主键,自动的帮你加上,有一个算法看哪个字段是唯一,或者自动加一列
使用整型的好处:例如 UUID的比大小,相对于整型的效率肯定慢,占用的内存也大,消耗大,整型字节小
主键自增的好处:如果是uuid 你每插入一条数据,就会分裂,导致索引树的变化,因为b+tree是从左到右是自增的, 有一个指针,所以导致插入一条计算到的值要是中间插入的话,树会变化