8、索引

什么是索引

==索引用于快速找出在某个列中有一特定值的行,避免全表扫描==

MySQL索引,默认是B+树索引

查询表中的索引

show index from 表名

索引的优缺点

优点

1、所有的MySQL列类型(字段)都可以被索引,也就是可以给任意字段设置索引

2、大大加快数据的查询速度

缺点

1、创建索引和维护索引要耗费时间,并且随着数据量的增加所耗费的时间也会增加

2、索引也需要占空间,如果有大量的索引,索引文件可能会比数据文件更快达到上限值

3、当对表中的数据进行增、删、改时,索引也需要动态的维护,降低了数据的维护速度

索引的分类

单列索引(普通索引、唯一索引、主键索引)、组合索引、全文索引、空间索引

创建索引

普通索引(b+树索引)

alter table table_name add index index_name(column_name) using btree;
create unique index index_name on table_name(column_name);

组合索引


唯一索引


全文索引