创建索引通常有两种常见方式:建表时直接创建,或者在表已经存在之后再追加创建。
在 CREATE TABLE 中可以直接定义索引。
例如:
CREATE TABLE article (
id int NOT NULL AUTO_INCREMENT,
title varchar(100) NOT NULL,
mobile varchar(20) DEFAULT NULL,
content text,
PRIMARY KEY (id),
UNIQUE INDEX idx_user_mobile (mobile)
);这种写法适合在表设计阶段就已经明确查询需求和约束要求。
如果表已经建好,也可以后续追加索引。
使用 CREATE INDEX:
CREATE INDEX index_user ON user(title);或者使用 ALTER TABLE:
ALTER TABLE user ADD INDEX index_name (name);创建唯一索引:
ALTER TABLE user ADD UNIQUE (creattime);创建全文索引:
ALTER TABLE user ADD FULLTEXT (description);创建组合索引:
ALTER TABLE user ADD INDEX name_city_age (name(10), city, age);这表示按照 name、city、age 三个字段建立一个联合索引。
建表时创建索引更适合整体设计,表存在后再建索引更适合性能优化阶段。普通索引、唯一索引、全文索引和组合索引,都是在不同业务场景下常见的选择。