mysql索引机制和建索引原则
1. 索引基础
1.1 分类
- 按底层数据结构划分
- B-Tree 索引 (B-Tree/B+Tree):
- 哈希索引 (Hash Index): 基于哈希表实现,对索引列计算哈希值,然后存储哈希值和行指针。
- 全文索引 (Full-Text Index):它使用“倒排索引”等更复杂的数据结构。
- 空间索引 (R-Tree Index):用于处理地理空间数据(如坐标、区域),能高效地进行范围和邻近查询。
- 按与数据物理存储的关系划分
- 聚集索引 (Clustered Index):
- 非聚集索引 (Non-Clustered Index / Secondary Index):
- 按应用和逻辑功能划分
- 主键索引 (Primary Key Index): 索引列的值必须唯一且不允许为 NULL。
- 唯一索引 (Unique Index):索引列的值必须唯一,但允许有 NULL 值(可以有多个 NULL)。
- 普通索引 (Normal/Regular Index):
- 联合索引 (Composite/Compound Index):


