三种建索引方式要点
- CREATE INDEX 名 ON 表 (列) 单独创建普通索引
- ALTER TABLE 表 ADD INDEX 名 (列) 改表时顺带建
- CREATE TABLE 内用 INDEX (列) 建表即带索引
- 唯一索引用 CREATE UNIQUE INDEX 或 ADD UNIQUE
- 组合索引把多列写进同一对括号,顺序很关键
- 大表加索引别在业务高峰跑,避免长锁写
三种建索引方式示例
-- 方式一:单独建普通索引
CREATE INDEX idx_name ON user (user_name);
-- 方式二:改表时建索引
ALTER TABLE user ADD INDEX idx_city (city);
-- 方式三:建表时直接内嵌
CREATE TABLE user (
id INT PRIMARY KEY,
user_name VARCHAR(50),
email VARCHAR(100),
INDEX idx_name (user_name),
UNIQUE KEY uk_email (email)
);
-- 唯一索引
CREATE UNIQUE INDEX uk_email ON user (email);
避坑提醒:大表 CREATE INDEX 会锁写,线上务必在低峰执行;能在线 DDL 就别用会堵全表的老方式。