MySQL 索引

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)

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

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

示例:

相关推荐
JEECG低代码平台7 小时前
不买服务器也能异地组网:开源 P2WLAN 把两地电脑“插“进同一台路由器
运维·服务器·开源·开源软件
欣欣之王来了7 小时前
前端开发学习路线图:2026年Vue方向最新版
前端·学习·架构·项目·vue3教程
wdfk_prog7 小时前
LWIP教程 00:从网线上的电信号到 lwIP——PHY、MAC、DMA 与 `netif` 的完整边界
运维·网络·笔记·学习·ip
cehuishi95277 小时前
测绘外业调查如何正确的开展
运维·服务器·网络
IT大白鼠7 小时前
图数据库系列 · 第 06 篇——避坑汇总:经典生产问题
数据库·nosql·图库数据库
江湖有缘7 小时前
3开源Sqlite数据库管理工具整理合集,可Docker一键部署!
数据库·sqlite·开源
zmsup7 小时前
从运维需求到产品能力:OpsArk Agent 的运维智能平台架构设计思路
运维·系统架构·agent·智能体·运维智能平台
jyOverQ7 小时前
Redis 持久化怎么做?RDB、AOF 与混合持久化
数据库·redis
j7~7 小时前
【C++ 标准项目】发布订阅消息队列(篇四):sqlite 与 gtest 断言框架介绍及实战应用
数据库·sqlite·gtest·断言·事件机制·tset宏