首页/数据/数据库速查/CREATE INDEX 索引创建与使用策略
本包目录(495 条)
MySQL 基础与连接36 条
SQL 语法52 条
用户与权限21 条备份与恢复56 条主从复制与高可用53 条性能与调优57 条Redis 命令96 条Redis 运维与场景124 条

CREATE INDEX 索引创建与使用策略

为查询条件、排序与连接列建索引:复合索引遵循最左前缀,覆盖索引可免除回表,但索引不是越多越好。

数据库速查数据更新于 2026-10-12
用途加索引
语法CREATE [UNIQUE|FULLTEXT] INDEX 名 ON 表 (列[, …])
原则最左前缀 / 高选择性 / 控制数量

创建示例

创建示例
CREATE INDEX idx_user_created ON orders (user_id, created_at);
CREATE UNIQUE INDEX uk_email ON users (email);
CREATE INDEX idx_sku_prefix ON orders (sku(16));

查看与删除

查看与删除
SHOW INDEX FROM orders;
DROP INDEX idx_sku_prefix ON orders;
InnoDB 二级索引自带主键列,索引太长会拖大占用;能覆盖查询的复合索引收益最大。

易错点

  • 写多读少与低选择性列(性别、状态枚举)不宜单独建索引
  • 给长字符串建完整索引浪费空间,前缀索引要确认区分度足够

数据来源与参考

  • MySQL 8.0 Reference Manual: CREATE INDEX Statement

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌