1、索引类型
MySQL 数据库支持多种索引类型,不同索引类型适用于不同的场景和存储引擎。以下是常见的索引类型及其特点:
1. B-Tree 索引
2. 哈希索引(Hash Index)
3. 全文索引(Full-Text Index)
4. 空间索引(Spatial Index)
5. 前缀索引(Prefix Index)
6. 联合索引(Composite Index)
7. 唯一索引(Unique Index)
索引类型对比
索引类型 |
适用场景 |
支持引擎 |
是否支持范围查询 |
查询速度 |
B-Tree |
大多数查询场景 |
InnoDB、MyISAM 等 |
是 |
快 |
哈希索引 |
精确等值查询 |
Memory、InnoDB(自适应) |
否 |
极快 |
全文索引 |
文本关键词搜索 |
InnoDB、MyISAM |
否(仅匹配词) |
中等 |
空间索引 |
地理空间数据查询 |
MyISAM、InnoDB(5.7+) |
是(空间范围) |
中等 |
如何选择索引类型?
- 默认选择 B-Tree:适用于大多数场景(等值、范围、排序)。
- 精确匹配且无范围查询:使用哈希索引(如内存表)。
- 文本搜索:使用全文索引。
- 空间数据:使用空间索引。
- 长字符串优化:使用前缀索引。
合理选择索引类型能显著提升查询性能,但需结合业务场景和数据分布进行权衡。