MYSQL 索引分析
-1 为啥要用B+Tree而不用btree?
btree所有的节点都存储数据,而b+tree只有叶子节点才存储数据
而内存每次加载数据的大小是有限的,而有数据的时候,加载的量就会很小,如果都是索引,就会加载更多的索引值
0. B+Tree能存多少数据
mysql> show global status like 'Innodb_page_size';
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| Innodb_page_size | 16384 |
+------------------+-------+
1 row in set
- innodb的所有数据文件.idb大小都是16K即16384的整数倍
- 我们的InnoDB页的大小默认是16k?为啥是16K?因为16K的话,高度为3的树就可以存储千万级别的数据,如下有说明
- 假设一行数据的大小是1k,那么