说明
1、建立查询频率高、数据量大的表索引。
2、对于索引字段的选择,最佳候选列应从where子句的条件中提取。
如果where子句组合较多,应选择最常用、过滤效果最好的组合。
3、使用唯一的索引。
区分度越高,使用索引的效率越高。
4、索引数量并不是越多越好。
索引越多,维护索引的成本自然就越高。对于插入、更新、删除等DML操作频繁的手表,如果索引过多,会引入相当高的维护成本,降低DML操作效率,增加相应操作的时间消耗。此外,如果索引过多,MySQL也会犯选择困难病,尽管最终还是会找到可用的索引,但无疑会提高选择的成本。
5、使用短索引。
索引创建后也存储在硬盘中,可以提高索引访问的I/O效率和整体访问效率。如果构成索引的字段总长度相对较短,则可以在给定大小的存储块中存储更多的索引值,从而有效提高MySQL访问索引的I/O效率。
6、使用最左前缀和N列组成的组合索引。
相当于创建了N个索引。如果在查询时where子句中使用组成索引的前几个字段,则该查询SQL可以使用组合索引来提高查询效率。
实例
创建复合索引: CREATE INDEX idx_name_email_status ON tb_seller(NAME,email,STATUS); 就相当于 对name 创建索引 ; 对name , email 创建了索引 ; 对name , email, status 创建了索引 ;
以上就是mysql提高索引效率的方法,希望对大家有所帮助。更多mysql学习指路:
推荐操作系统:windows7系统、mysql5.8、DELL G3电脑