MySQL 使用 B-Tree 而不是 Hash 索引是因为 B-Tree 有许多优点。
支持排序:B-Tree 索引可以支持排序,因此支持顺序查找。Hash 索引则不能支持排序,因此只支持随机查找。
支持范围查询:B-Tree 索引可以支持范围查询,因此支持区间查询,而 Hash 索引则不能。
支持分块查询:B-Tree 索引使用分块查询,因此可以支持大数据量的查询,而 Hash 索引则不能。
支持磁盘存储:B-Tree 索引可以使用磁盘存储,因此占用内存较少,而 Hash 索引则需要使用内存,因此内存占用较多。
因此,B-Tree 索引比 Hash 索引更