索引的存储

为啥选择B+树
二叉树:极端情况下会形成歪树,IO
平衡二叉树:
B树:为磁盘或其他存储设备而涉及的一种多叉平衡查找树
B+树:分批加载数据到缓存

B和B+树区别:
(1)B树叶子节点和非叶子节点都会存储数据
(2)B+树只有叶子节点才会存储数据,而且存储的数据都在一行上,这些数据都有指针指向的

聚集索引(Innodb):索引和表数据存在一起
(1)主键索引(有且只有一个)必须存在
主键值构成索引树,数据域存放行数据
没有主键的话,选择唯一非空列,或默认创建隐藏列
(2)辅助索引(根据索引个数可有多个)二级索引
非主键值作为索引树,数据域存储的是主键值

如何选择主键:

非聚簇索引(MyIsam):索引和数据分开存储
(1)主键索引
主键值构成索引树,叶子节点存放数据地址
(2)辅助索引
非主键值所谓索引树,叶子节点存放数据地址

posted @ 2020-12-10 19:20  why414  阅读(156)  评论(0编辑  收藏  举报