2:索引分为哪些?如何创建索引?索引如何优化?A,B,C联合索引如何才能命中索引?
MySQL索引分为主键索引,唯一索引,普通索引,全文索引以及复合索引等
创建主键索引:alter table ·user· add primary key('A');
创建唯一索引:alter table `user` add unique('A');
创建普通索引:alter table `user` add index index_name('A');
创建全文索引:alter table `user` add fulltext('A');
创建联合索引:alter table `user` add index index_name('A','B','C');
注意索引使用具有居左原则,也就是最先使用的索引必须排除掉最多选项,对于ABC联合索引,在使用的过程中只要具有A并且A排在第一位,即Ab,AC,ABC这样的索引使用即可命中索引,A为联合索引的引导列。
详情请查看:理解MySQL——索引与优化
ps:
主键不一定自增,但是自增的键一定是主键。
使用explain命令查看sql,可以查看索引以及sql效率
索引的东西还有很多,合理使用索引需要开发者视具体业务而定。
全文索引在MySQL中是属于fulltext索引,并且只能在char,varchar或text类型的列上创建。
在MySQL5版本以上,varcahr(20)中的20代表的是20个字符,可以存储20个汉字,字母,数字等,存储汉字与字符编码没有关系。
varcahr(20),char(20)在超过规定字符之后都将无法插入到数据库。
SQL语句命令需要熟记于心。