🧠 图解记忆: 索引选型是在召回、延迟、内存和更新成本之间取舍。
💡 答案要点
主流索引类型:
| 索引 | 原理 | 速度 | 精度 | 内存 | 适用场景 |
|---|---|---|---|---|---|
| HNSW | 多层图结构 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | 高 | 追求速度,内存充足 |
| IVF | 先聚类再搜索 | ⭐⭐⭐ | ⭐⭐⭐⭐ | 中 | 数据量大,可接受精度损失 |
| LSH | 局部敏感哈希 | ⭐⭐⭐⭐ | ⭐⭐ | 低 | 超大规模,近似即可 |
| PQ | 乘积量化 | ⭐⭐⭐⭐ | ⭐⭐⭐ | 低 | 内存受限场景 |
选型建议:
| 场景 | 推荐索引 |
|---|---|
| <100 万条 | HNSW(速度快) |
| 100 万 -1000 万 | IVF + PQ(平衡) |
| >1000 万 | IVF 或 LSH(节省内存) |
| 实时插入 | HNSW(索引更新快) |
| 离线批量 | IVF(批量构建快) |
面试话术:
示例表达(仅在能用本人经历或可复现实验佐证时使用): "我在项目中用 HNSW 索引,因为数据量在 50 万条左右,内存充足,追求检索速度。HNSW 的检索延迟在 10ms 以内,比 IVF 快 10 倍。如果数据量增长到千万级,我会考虑 IVF+PQ 的组合。"
