前言
MySQL 的 innodb 引擎之所以使用 B+tree 来存储索引,就是想尽量减少数据查询时磁盘 IO 次数。树的高度直接影响了查询的性能。一般树的高度在 3~4 层较为适宜。数据库分表的目的也是为了控制树的高度。那么如何获取树的高度呢?下面使用一个示例来说明如何获取树的高度。
示例数据准备
建表语句如下:
CREATETABLE`user` ( `id` int(11) NOTNULLAUTO_INCREMENT, `name` varchar(100) CHARACTERSETlatin1 DEFAULTNULL, `age` int(11) DEFAULTNULL, PRIMARYKEY(`id`), KEY`name` (`name`), KEY`age` (`age`) ) ENGINE=InnoDB DEFAULTCHARSET=utf8
表中插入100万条数据。数据如下:
mysql> select* fromuserlimit 2\G *************************** 1. row *************************** id: 110000 name: ab age: 100 *************************** 2. row *************************** id: 110001 name: ab age: 100 2 …[获取更多]