• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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百万级数据分页查询优化方案
    • MySQL 使用自定义变量进行查询优化
    • 理解MySQL查询优化处理过程
    • mysql查询优化之100万条数据的一张表优化方案
    • 详解MySQL 联合查询优化机制
    • MySQL查询优化必备知识点总结
    • MySQL查询优化之查询慢原因和解决技巧
    • MySQL之select in 子查询优化的实现
    • MySQL千万级大数据SQL查询优化知识点总结
    • 通过MySQL慢查询优化MySQL性能的方法讲解
    • MySQL 百万级数据的4种查询优化方式
    上一篇:CentOS7.x卸载与安装MySQL5.7的操作过程及编码格式的修改方法
    下一篇:分享几道关于MySQL索引的重点面试题
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Mysql慢查询优化方法及优化原则 Mysql,慢,查询,优化,方法,