本篇内容介绍了“mysql怎么提高索引的效率”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
说明
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 创建了索引 ;
版权声明:除特别声明外,本站所有文章皆是本站原创,转载请以超链接形式注明出处!