索引需要保存到磁盘上,假设我们使用平衡二叉树来存储,一个100万个节点的二叉树高20,一次查询需要访问20个数据块,机械硬盘随机读取一个数据块大约需要10ms时间,因此单独访问一个行大约需要200ms时间...B+树的叶子结点存储的是?
存储的是页,一个页里面有多个行。当我们通过索引定位页时,然后通过内部的有序数组再借助二分法去定位行。
InnoDB索引模型?...InnoDB中,表都是根据主键顺序以索引的形式存放,这种存储方式称为索引组织表。
InnoDB使用了B+数索引模型,所以数据都是存储在B+树中。
每一个索引在InnoDB中都对应一棵B+树。...InnoDB;
insert into t(id, name, k) values
(1, 'Java', 100),
(2, 'Python', 200),
(3, 'Go', 300),
(5, 'MySQL...主键索引又称聚簇索引,主键索引的叶子节点存储的是整行数据
非主键索引又称二级索引,非主键索引的叶子结点存储的是主键的值
假设我们有以下两个SQL语句:
-- SQL1
select * from t where