MySQL 里给表添加索引

0. 引言

在 MySQL 里给表添加索引很常见,你可以根据字段的用途来决定加什么类型的索引。下面我整理了几种常用方法:

1. 普通索引(Index)

适合经常作为查询条件(WHERE)的字段:

plain 复制代码
CREATE INDEX idx_name ON files(name);

2. 唯一索引(Unique Index)

保证字段值不重复,例如 uuid

plain 复制代码
CREATE UNIQUE INDEX idx_uuid ON files(uuid);

3. 组合索引(Composite Index)

如果你经常用多个字段联合查询,比如 type + over_time

plain 复制代码
CREATE INDEX idx_type_overTime ON files(type, over_time);

4. 主键(Primary Key)

一个表只能有一个主键:

plain 复制代码
id BIGINT AUTO_INCREMENT PRIMARY KEY

5. 全文索引(Fulltext Index)

适合对长文本做模糊搜索(例如文件描述):

plain 复制代码
CREATE FULLTEXT INDEX idx_file_name ON files(name);

6. 修改表时添加索引

如果你想在 ALTER TABLE 里加:

plain 复制代码
ALTER TABLE files ADD INDEX idx_name(name);
ALTER TABLE files ADD UNIQUE idx_uuid(uuid);

7. 删除索引

plain 复制代码
DROP INDEX idx_name ON files;

建议:

  • 如果 uuid 你要保证唯一,建唯一索引:
  • 如果 name 经常用来查找,可以加普通索引:
  • 如果 over_time 经常用来清理过期,可以加索引:
相关推荐
wfsm1 天前
有向图的状态转换
数据库
IMdive1 天前
OpenHarmony鸿蒙远程数据库连接应用开发指南
数据库·华为·harmonyos
筵陌1 天前
MySQL事务管理(上)
数据库·mysql
数据知道1 天前
PostgreSQL:详解 orafce 拓展插件的使用
数据库·postgresql
xj198603191 天前
MySql-9.1.0安装详细教程(保姆级)
数据库·mysql
·云扬·1 天前
【MySQL】主从复制:原理、作用与实现方法
数据库·mysql
数据知道1 天前
PostgreSQL:详解 MySQL数据迁移,如何将数据平滑迁移到PostgreSQL
数据库·mysql·postgresql
番茄去哪了1 天前
在Java中操作Redis
java·开发语言·数据库·redis
JiaHao汤1 天前
一文掌握 SQL:数据定义、操作与查询完整教程
数据库·sql
白太岁1 天前
Redis:(3) Lua 与 Redis、基于连接池的 Facade 模式封装
数据库·c++·redis·lua·外观模式