b树它其实非叶子节点也会存储数据,而b+只会在叶子节点存储数据,那这样其实b+树效率更高一点,因为其实我们查的话都是要先将磁盘中的数据页加载进来,b+树的话它存的都是有用的东西,都是目录项嘛,而b树它会有一些用不到的信息,因为它还会存储当前节点的key的数据,那相当于b+树就变相的减少了磁盘的读入,磁盘操作是比较耗时的,另外的话其实索引也是有序的,b+树定位到叶子节点后,那如果范围查询的话因为每个数据页也是有双向链表的,范围的定位的话都在一块,所以一个一个读就可以,b树的话因为它非叶子节点也会存数据,导致这种范围查询的话没有b+树性能好。
主要用的多的是
垂直分库:微服务
垂直分表:冷热数据分离
水平分库:将一个库的数据拆分到多个库中,解决海量数据存储和高并发的问题。
垂直分库:
水平分库:一个表数据量超过1000万,进行水平分库,开了三台服务器,采用Mycat分片,都是根据id自增取模的方式来存储的
垂直分表: