数据库对象索引由表中的一个或多个字段生成的键组成,即一个索引会包含表中按一定顺序排列的一列或多列字段,这些键存储在数据结构(B-tree或hash表)中,通过MySQL可以有效地查找与键值相关联的字段。
MySQL支持六种索引:普通索引、唯一索引、全文索引、单列索引、多列索引和空间索引。
以下分两种情况创建索引:创建表时创建索引和在已经存在的表上创建索引;
1、创建表示创建普通索引:
create table 表名(字段名 数据类型 约束, 字段名 数据类型 约束, index 索引名(字段名));
可使用explain查看表中索引是否被使用:
explain select * from where 字段名=1;
【注】假设该字段位于表的第一列;
在已经创建的表上创建普通索引:
create index 索引名 on 表名 (字段名);
或者也可以使用以下语句:
alter table 表名 add index (索引名);
对于唯一索引、全文索引的创建,只需要在以上语句中将index改为unique index、fulltext index即可。
2、删除索引
创建的索引会影响表的更新速度,影响数据库的性能,所以有时我们需要我们删除索引,可通过以下语句实现:
drop index 索引名 on 表名;