1. 主键索引(PRIMARY KEY)
最特殊、最重要的索引,一张表只能有一个
自带唯一 + 非空,不能重复、不能为 NULL
比如用户表的
user_id,默认就是主键索引数据库会用它来唯一标识一行数据,查询最快
2. 唯一索引(UNIQUE)
和主键很像,但允许字段为 NULL(NULL 不算重复)
作用:保证这一列的值绝对不重复
比如手机号、身份证号,适合建唯一索引
3. 普通索引(INDEX / 常规索引)
最常用、最简单,没任何限制
只干一件事:加速查询
没有唯一、非空要求,想加就加
4. 复合索引(联合索引)
一次给多个字段建索引,比如
(name, age, gender)遵循最左前缀原则:从左边第一个字段开始匹配才能用上
适合经常一起查询的多个字段,比建多个单字段索引高效
5. 全文索引(FULLTEXT)
专门用来做关键词搜索
比如文章内容、商品描述里搜 “手机”“教程”
比
like %关键词%快得多,like根本走不了索引
6. 空间索引(SPATIAL)
给地理位置、坐标用的
比如经纬度、地图范围查询,普通开发很少用到