Skip to content

Latest commit

 

History

History
63 lines (42 loc) · 1.32 KB

File metadata and controls

63 lines (42 loc) · 1.32 KB

创建索引

创建索引通常有两种常见方式:建表时直接创建,或者在表已经存在之后再追加创建。

创建表的时候创建索引

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);

这表示按照 namecityage 三个字段建立一个联合索引。

小结

建表时创建索引更适合整体设计,表存在后再建索引更适合性能优化阶段。普通索引、唯一索引、全文索引和组合索引,都是在不同业务场景下常见的选择。