做企业 RAG 知识库、用户业务后台、向量检索平台时,经常出现数据库 / 向量库查询几十秒超时、并发卡死、GPU 推理被数据库拖慢等问题,根源是没有合理设计索引。本期先讲传统 MySQL B + 树索引底层原理、读写取舍、覆盖索引优化,再结合 AI 项目对比向量库 HNSW/IVF 索引差异,梳理业务建索引标准、线上慢查询排查方案,区分结构化业务库与语义向量库两套索引选型逻辑,覆盖用户业务表、文档向量库两大 AI 核心存储场景。
一、索引通俗定义与书籍目录类比
索引是数据库 / 向量库单独维护的有序结构化检索目录,核心作用:用额外磁盘空间、小幅写入性能损耗,换取百倍级查询速度提升。生活化类比:一本几百页业务手册,无索引需要逐页翻找(全表扫描);建立关键词目录后,直接定位目标页码,跳过海量无关内容。无索引痛点:千万级数据表、百万向量库全量遍历,单次查询耗时数十秒,线上并发直接雪崩。核心底层逻辑:把检索关键字单独排序存储,搭配数据指针,将海量线性遍历缩减为少数几次磁盘 IO。
二、传统关系库核心:MySQL InnoDB B + 树索引
1 B + 树结构核心优势
B + 树是矮胖多叉平衡树,所有真实数据仅存叶子节点,非叶子节点只存索引分界值,天然适配磁盘 IO 特性: