索引是存储引擎用于快速定位记录的辅助数据结构。缺乏索引的小表尚可全表扫描,数据量增长后查询耗时呈线性上升;若索引设计不当,又会占用额外磁盘并降低写入性能。本章以 InnoDB 为背景,介绍普通索引、唯一索引、主键索引及全文索引的创建语法与验证方法,帮助读者在“可接受写入成本”与“必要查询速度”之间取得平衡。
创建数据表:
create table user(id int,name varchar(20),tel varchar(11),email varchar(50),password varchar(30));
示例:

查看数据表索引语句:
语法:show index from 数据表名;
show index from user;
示例:

普通索引:
语法:alter table 数据表名字 add index(字段);
alter table user add index(name);
示例:

唯一索引:
语法:alter table 数据表名字 add unique(字段);
alter table user add unique(tel);
示例:

全文索引:
语法:alter table 数据表名 add fulltext(字段)
alter table user add fulltext(email);
示例:

主键索引:
语法:alter table 数据表名字 add primary key(字段);
alter table user add primary key(id);
示例:

创建表时可在创建表的语句后加上类型可声明索引:
| primary key(字段) | index (字段) | fulltext (字段) | unique (字段) |
创建数据表url1:
create table user1(
id int auto_increment,
name varchar(20),
primary key(id),
unique(name)
)engine = innodb default charset=utf8;
注:engine = innodb 这句话的作用是指定这个表使用 InnoDB 存储引擎。
示例:

总结:
请初学者在Mysql库中分别执行无索引、普通索引、唯一索引、全文索引、主键索引,熟练其操作。




