当前位置:Gxlcms > 数据库问题 > MySQL索引与优化

MySQL索引与优化

时间:2021-07-01 10:21:17 帮助过:20人阅读


 (1).全职匹配:
 (2).最佳左前缀原则:如果查询了多列,查询应该从索引的最左前列开始并且不要不要跳过索引中的列
 (3).不在索引上做任何操作(计算,函数,类型转换(自动或手动)),否则会导致索引失效而转向全表扫描
 (4).存储引擎不能使用索引中范围条件右边的列
 (5).尽量使用覆盖索引(只访问索引的查询(索引列和查询列一致)),减少或避免select *
 (6).mysql在使用不等于(!=或者<>),is null,is not null 的时候无法使用索引会导致全表扫描
 (7).like以通配符开头(like "%abc")会导致索引失效,但是百分号结尾不会(like "abc%"),解决like "%"开头的可以使用覆盖索引解决
 (8).字符串不加引号会导致索引失效
 (9).少用or,用它来连接会导致索引失效
 (10).使用group by需谨慎,因为分组之前必先排序,有可能会导致临时表的产生
10. sql优化步骤:先找到查询慢的sql(通过慢查询日志抓取超过一定时间的sql)->explain分析sql->优化索引与查询语句->如果问题还没解决,使用show profile查看sql执行的资源消耗情况,然后如果sql已经最优,判断是否mysql服务器问题,根据情况调整相关参数。

 

MySQL索引与优化

标签:mysq   数据   顺序   复合   索引   返回   参数   部分   基础   

人气教程排行