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)

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

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

示例:

相关推荐
山峰哥4 小时前
数据库工程核心:SQL调优让查询效率飙升的实战密码
网络·汇编·数据库·sql·编辑器
丝斯20114 小时前
AI学习笔记整理(50)——大模型中的Graph RAG
人工智能·笔记·学习
Coder_Boy_4 小时前
基于SpringAI的在线考试系统-DDD业务领域模块设计思路
java·数据库·人工智能·spring boot·ddd
一允4 小时前
Git学习记录
git·学习
崇山峻岭之间5 小时前
Matlab学习记录37
android·学习·matlab
开开心心_Every5 小时前
免费窗口置顶小工具:支持多窗口置顶操作
服务器·前端·学习·macos·edge·powerpoint·phpstorm
崇山峻岭之间5 小时前
Matlab学习记录38
学习
小雪_Snow5 小时前
Windows 安装 MySQL 8.0 教程【安装包方式】
数据库·mysql
无敌的牛5 小时前
MySQL初阶
数据库·mysql
小+不通文墨5 小时前
“超声波测量声速”实验报告
经验分享·笔记·学习·学习方法