1.索引的描述
索引在MySQL中也叫做”键”,保存着数据位置的信息;
其作用是为了加快数据库的查询速度;
实际上,索引也是一张表,该表保存了主键与索引字段,并指向实体表的记录。
2.索引的使用
添加索引
alter table 表名 add index 索引名(字段名);
#案例
alter table classes add index my_name(name);
#给classes表中的name列添加名为my_name的索引
主键会自动创建索引,外键约束也会自动创建索引
删除索引
drop index 索引名 on 表名;
#案例
drop index my_name on classes;
#删除classes表中的my_name索引
添加联合索引
语法
联合索引又叫复合索引,是MySQL的InnoDB引擎中的一个索引方式,如果一个系统频繁地使用相同的几个字段查询结果,就可以考虑建立这几个字段的联合索引来提高查询效率。
alter table 表名 add index 索引名(字段名1,字段名2);
复制
最左前缀原则
在使用联合索引时要注意有个最左前缀原则,最左前缀原则就是要考虑查询的字段的顺序,只有遵守这个原则才能最大地提高查询的效率。
比如index(name,age)支持name或者name,age组合查询,不支持age单独查询
select * from students where name = '张三'; #使用了联合索引
select * from students where name = '张三' and age = 10; #使用了联合索引
select * from students where age = 10; #没有使用联合索引
文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/5933