MySQL 索引

MySQL 索引的常见类型总结

1)主键索引(PRIMARY KEY)

  • 唯一且非空(NOT NULL)

  • 一张表只能有一个主键

  • 自动创建一个 唯一索引

  • 常用于标识每一条唯一记录(如 id)

示例:

2)唯一索引(UNIQUE KEY)

  • 索引列的值必须唯一

  • 允许 NULL 值(且多个 NULL 不冲突)

  • 一张表可以有多个唯一索引

示例:

3)普通索引(INDEX / KEY)

  • 无唯一性要求

  • 最常见的索引类型

  • 用于提高查询速度

示例:

4)组合索引(联合索引,Composite Index)

  • 多个字段联合建立的索引

  • 遵循最左前缀原则(Leftmost Prefix Rule)

  • 常用于组合查询的场景

示例:

5)全文索引(FULLTEXT)

  • 用于大文本搜索,如 TEXTVARCHAR

  • 适用于 自然语言搜索、模糊搜索

  • 只有 MyISAM 与 InnoDB 5.6+ 才支持

示例:

6)空间索引(SPATIAL)

  • 用于存储 GIS(地理信息)

  • 使用 geometry/geography 等字段

7)前缀索引(Prefix Index)

  • 对字符串的一部分建立索引

  • 提高效率、减少索引体积

示例:

相关推荐
uElY ITER1 分钟前
VS与SQL Sever(C语言操作数据库)
c语言·数据库·sql
抠脚学代码8 分钟前
Linux开发-->驱动开发-->字符设备驱动框架(2)
linux·运维·驱动开发
SHoM SSER12 分钟前
SQL之CASE WHEN用法详解
数据库·python·sql
何中应16 分钟前
Promehteus如何指定数据路径
运维·prometheus·监控
热爱Liunx的丘丘人16 分钟前
Ansible的Playbook案例一
linux·运维·服务器·ansible
talen_hx29619 分钟前
《零基础入门Spark》学习笔记 Day 17
大数据·笔记·学习·spark
Caspian Wren20 分钟前
通过Logstash将MySQL数据同步到ES
数据库·mysql·elasticsearch·logstash
2401_8359568122 分钟前
Golang怎么做代码热更新_Golang热更新教程【精通】
jvm·数据库·python
Minla23 分钟前
kubectl常用命令别名设置(linux|windows)
linux·运维·服务器·k8s
北山有鸟23 分钟前
Linux第一宏:container_of
笔记·嵌入式硬件·学习