索引的优点

索引用于快速找出某个列中有特定值的一行
不适用索引,Mysql 必须从第一条记录开始,读完整个表直到找出相关的行。
表越大,花费时间越多。
如果表中查询的列有一个索引,Mysql 能快速到达一个位置去搜寻到数据文件的中间,没有必要读取所有的数据

但是索引也不宜过多,索引越多,写入和修改的速度就越慢。写入修改数据时,索引也会修改

Mysql 索引类型

索引类型 功能说明
普通索引 最基本的索引,没有任何限制
唯一索引 某一行启用了唯一索引,则不允许这一列行数据中有重复的值,针对这一列的每一行数据都要求是唯一的
主键索引 这是一种特殊索引,不允许有空值,一般在建表的时候同时创建主键索引,常用于用户 ID
全文索引 对于需要全局搜索的数据,进行全文索引

普通索引

为表的某字段添加索引

1
2
3
4
alter tableadd index(字段);
-- 示例
alter table users add index(username);
-- 给users表中的username字段添加索引

唯一索引

1
alter tableadd unique(字段);

全文索引

1
alter tableadd fulltext(字段);

主键索引

1
alter tableadd primary key(字段);

创建表的时候声明索引

1
create table 表(字段 数据类型, 字段 数据类型, primary key(字段), index(字段), unique(字段), fulltext(字段));