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 数据 顺序 复合 索引 返回 参数 部分 基础