在mysql中,索引在存储引擎层而不是服务器层实现的。
如果没有特别指明类型,那多半说的是B-Tree索引
索引的类型
- B-Tree索引
- 哈希索引
- 空间数据索引(R-Tree)
- 全文索引
- 聚簇索引
- 覆盖索引
- 压缩(前缀压缩)索引
- 冗余和重复索引
B-Tree索引
- B-Tree 对索引列是
顺序组织存储的,所以很适合查找范围数据 - 每一个叶子页到根的
距离相同 - 树的深度和表的大小直接相关
- B-Tree 索引能加快访问数据的速度
- 最终存储引擎要么是找到对应的值,要么该记录不存在
可以使用B-Tree 索引的查询类型
- 全键值
- 键值范围
- 键前缀(只适用于根据最左前缀的查找)


哈希索引
- 哈希索引基于哈希表实现,只有精确匹配索引所有列的查询才有效
- 哈希索引将所有的哈希码存储在索引中,同时在哈希表中保存指向每个数据行的指针
- 在mysql中,只有Memory引擎显示支持哈希索引


处理哈希冲突


本文详细介绍了MySQL中不同类型的索引,如B-Tree索引的顺序存储结构、哈希索引的精确匹配特性,以及空间数据索引(R-Tree)的应用。重点讲解了B-Tree索引在范围查询中的优势和适用场景,以及哈希索引的特点和Memory引擎的支持。
951

被折叠的 条评论
为什么被折叠?



