红黑树,是一种特化的平衡二叉树,MySQL 数据量很大的时候,索引的体积也会很大,内存放不下的而从磁盘读取,树的层次太高的话,读取磁盘的次数就多了。 B-Tree,叶子节点和非叶子节点都保存数据,相同的数据量,B+树更矮壮,也是就说,相同的数据量,B+树数据结构,查询磁盘的次数会更少。
红黑树: 树的高度随着数据量增加而增加,IO代价高。 讲一讲聚簇索引与非聚簇索引? 在InnoDB 里,索引B+ Tree的叶子节点存储了整行数据的是主键索引,也被称之为聚簇索引,即将数据存储与索引放到了一块,找到索引也就找到了数据。 而索引B+ Tree的叶子节点存储了主键的值的是非主键索引,也被称之为非聚簇索引、...
因为不是按照索引值顺序存储的,就不能像B+Tree索引一样利用索引完成排序 ; Hash索引在查询等值时非常快 ; 因为Hash索引始终索引的所有列的全部内容,所以不支持部分索引列的匹配查找 ; 如果有大量重复键值得情况下,哈希索引的效率会很低,因为存在哈希碰撞问题 。 二叉树: 树的高度不均匀,不能自平衡,查找效率跟数...