MySQL 索引的常见类型总结
1)主键索引(PRIMARY KEY)
-
唯一且非空(NOT NULL)
-
一张表只能有一个主键
-
自动创建一个 唯一索引
-
常用于标识每一条唯一记录(如 id)
示例:

2)唯一索引(UNIQUE KEY)
-
索引列的值必须唯一
-
允许 NULL 值(且多个 NULL 不冲突)
-
一张表可以有多个唯一索引
示例:

3)普通索引(INDEX / KEY)
-
无唯一性要求
-
最常见的索引类型
-
用于提高查询速度
示例:

4)组合索引(联合索引,Composite Index)
-
多个字段联合建立的索引
-
遵循最左前缀原则(Leftmost Prefix Rule)
-
常用于组合查询的场景
示例:

5)全文索引(FULLTEXT)
-
用于大文本搜索,如
TEXT、VARCHAR -
适用于 自然语言搜索、模糊搜索
-
只有 MyISAM 与 InnoDB 5.6+ 才支持
示例:

6)空间索引(SPATIAL)
-
用于存储 GIS(地理信息)
-
使用 geometry/geography 等字段
7)前缀索引(Prefix Index)
-
对字符串的一部分建立索引
-
提高效率、减少索引体积
示例:

