3.2 索引类别
2026/6/12 20:38:03 网站建设 项目流程

MySQL 中的索引可以从多个维度进行系统分类。理解这些分类有助于在不同场景下选择正确的索引类型,优化查询性能。以下从数据结构、物理存储、逻辑约束、可见性四个主要维度,对 MySQL 索引进行全方位拆解。


🌳 一、按数据结构划分

索引的底层数据结构决定了查找、范围扫描等操作的效率特性。

索引类型底层数据结构支持引擎特点适用场景
B+ 树索引B+ 树InnoDB (默认)、MyISAM、Memory (可选)等值查询 O(log N),范围查询极快(叶子链表),有序,通用绝大多数查询:=><BETWEENORDER BYGROUP BY
哈希索引哈希表Memory (显式USING HASH)、InnoDB (自适应哈希索引 AHI,自动)、TempTable (内存临时表)等值查询 O(1) 极快,不支持范围查询,无序,易碰撞临时缓存、等值查找为主的场景(如会话表)
全文索引倒排索引InnoDB (5.6+)、MyISAM、NDB专用于文本搜索,支持MATCH ... AGAINST,分词处理,支持相关性排序文章内容搜索、模糊文本匹配(替代低效的LIKE '%...%'
空间索引R 树InnoDB、MyISAM用于几何数据类型(POINT,LINESTRING,POLYGON),支持空间包含、距离查询GIS 应用、地图位置查询
倒排索引(全文)倒排列表InnoDB 内部词 → 文档ID 的映射全文检索

重点:InnoDB 的常规用户索引都是 B+ 树,AHI 是内存中的辅助加速结构。Memory 引擎允许在创建索引时显式指定USING HASHUSING BTREE,而 InnoDB 用户无法手动创建哈希索引。


💾 二、按物理存储(索引组织方式)划分

这是 InnoDB 最核心的分类,直接关系到数据如何存放和访问。

1. 聚簇索引 (Clustered Index)
  • 本质:索引的

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询