MYSQL中怎样优化慢查询

今天就跟大家聊聊有关MySQL中怎样优化慢查询,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

创新互联公司是一家专业从事网站建设、做网站的网络公司。作为专业网站设计公司,创新互联公司依托的技术实力、以及多年的网站运营经验,为您提供专业的成都网站建设、成都营销网站建设及网站设计开发服务!

MYSQL慢查询优化方法及优化原则:

1、日期大小的比较,传到xml中的日期格式要符合'yyyy-MM-dd',这样才能走索引,如:'yyyy'改为'yyyy-MM-dd','yyyy-MM'改为'yyyy-MM-dd'【这样MYSQL会转换为日期类型】。

2、条件语句中无论是等于、还是大于小于,WHERE左侧的条件查询字段不要使用函数或表达式或数学运算。

3、WHERE条件语句尝试着调整字段的顺序提升查询速度,如把索引字段放在最前面、把查询命中率高的字段置前等。

4、保证优化SQL前后其查询结果是一致的。

5、在查询的时候通过将EXPLAIN命令写在查询语句前,测试语句是否有走索引。

6、禁止使用SELECT*FROM操作,应只返回需要的字段,不需要的字段不要返回。

7、可以尝试分解复杂的查询,在应用层面进行表关联,以此代替SQL层面的表关联。

8、WHERE子句和ORDER BY子句涉及到的列建索引。

9、避免在WHERE子句中对字段进行NULL判断【可以对表字段改造一下,字符串型字段默认值设置为空字符串,数字型字段默认值设置为0,日期型字段默认值设置为1990-01-01等】。

10、避免在WHERE子句中使用!=或<>操作符。

11、避免在WHERE子句中使用OR操作符。

12、BETWEEN AND代替IN。

13、LIKE'%abc%'不会走索引,而LIKE'abc%'会走索引。

14、避免对字段进行表达式操作。

15、避免对字段进行函数操作。

16、GROUP BY操作默认会对GROUP BY后面的字段进行排序,如果你的程序不需要排序,可在GROUP BY语句后面加上ORDER BY NULL去除排序。

17、如果是数值型字段,则尽量设计为数值型字段,不要为了方便、为了偷懒而给后面维护的同事埋坑。

18、表中所有字段设计为NOT NULL。

19、返回条数固定时,用LIMIT语句限制返回记录的条数,如只需要一条记录,或肯定只有一条记录符合条件,那建议加上LIMIT 1。

20、对于枚举类型的字段【即有固定罗列值的字段】,建议使用ENUM而不是VARCHAR,如性别、星期、类型、类别等。

21、对于存IP地址的字段设计为成UNSIGNED INT型。

22、避免在SQL中使用NOW()、CURDATE()、RAND()函数【因为这种方式会导致MYSQL无法使用SQL缓存】,可以转化为通过传入参数的方式。

23、对于统计类的查询【如查询连续几个月的数据总量,或查询同比、环比等】,可以通过定时查询并统计到统计表的方式提高查询速度。

看完上述内容,你们对MYSQL中怎样优化慢查询有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注创新互联行业资讯频道,感谢大家的支持。

当前文章:MYSQL中怎样优化慢查询
文章源于:https://www.cdcxhl.com/article38/ieogsp.html

成都网站建设公司_创新互联,为您提供营销型网站建设品牌网站建设手机网站建设网站设计公司服务器托管Google

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

h5响应式网站建设