`
frank1998819
  • 浏览: 757903 次
  • 性别: Icon_minigender_1
  • 来自: 南京
文章分类
社区版块
存档分类

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

【罗 14:8】 我们若活着,是为主而活;若死了,是为主而死。所以我们或活或死,总是主的人。

 

分享到:
评论

相关推荐

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

    以下是一些关于如何优化MySQL慢查询的方法和原则: 1. **日期格式与索引**:在进行日期比较时,确保传入的日期格式为'yyyy-MM-dd',这样MySQL能够识别并使用日期类型的索引。例如,将'yyyy'或'yyyy-MM'格式改为'...

    MySQL索引原理及慢查询优化1

    MySQL索引原理及慢查询优化是数据库管理中的重要主题,尤其是在高并发、大数据量的互联网环境中,优化查询性能对于系统的整体效能至关重要。MySQL作为广泛使用的开源关系型数据库,其索引机制和查询优化技巧是开发者...

    基于MySQL数据库的查询性能优化研究.pdf

    基于 MySQL 数据库的查询性能优化研究 MySQL 数据库是当前网络环境中最流行的开源关系型数据库之一,随着网络环境中数据总量的急剧攀升,对数据库查询的响应时间提出了更严格的要求。为了提高查询效率,需要研究 ...

    MySQL官方文档优化原则部分

    这份"MySQL官方文档优化原则部分"的翻译涵盖了多个关键领域,帮助我们深入理解如何提高MySQL数据库的运行效率。 首先,执行计划是优化查询的关键。在MySQL中,可以使用`EXPLAIN`关键字来查看SQL查询的执行计划,这...

    MySQL性能优化和高可用架构实践.pptx

    本书详细描述了优化过程中的关键步骤和方法,例如:分析慢查询日志、制定优化计划、调整配置参数等。还介绍了作者在实践中积累的宝贵经验,为读者提供实用的参考。 经验教训 本书总结了在优化MySQL性能和高可用...

    MySQL的SQL查询性能优化技术.pdf

    本篇主要探讨了优化SQL查询的一些基本原则、企业级监控、配置与参数化、数据管理和性能考量等方面。 首先,优化的基本准则是谨慎对待最佳实践,因为每个系统都有其独特性,以前适用的方法在新的环境中可能不再有效...

    MySQL语句优化的原则

    ### MySQL语句优化的核心原则与实践 #### 一、索引的重要性及合理设计 1. **索引的作用**:索引能够显著加快数据检索的...通过以上原则和技术的应用,可以有效地优化MySQL查询性能,提高系统的整体响应速度和吞吐量。

    Mysql优化方法介绍.ppt

    MySQL 优化方法主要涵盖存储引擎的选择、字段类型的设计、索引的应用及操作,以及SQL语句的优化。这些方面对于提升数据库性能至关重要。 首先,存储引擎是MySQL中数据存储的关键技术,不同引擎有不同的特性和优势。...

    mysql数据库性能优化

    本文将围绕《构建高性能Web站点》一书中有关MySQL性能优化的部分内容进行详细解读,帮助读者更好地理解和掌握MySQL性能优化的方法和技术。 #### 二、友好的状态报告与正确使用索引 ##### 1. 友好的状态报告 - **...

    php之mysql优化

    `Mysql优化-20151007.doc`可能包含了关于数据库设计原则的信息,比如范式理论的应用,适当的数据类型选择,以及减少冗余数据,这些都能防止数据不一致性和提高存储效率。 4. **内存配置**:MySQL服务器的内存管理对...

    mySQL数据库性能优化pdf.pdf

    - 增加慢查询日志的配置项,如指定慢查询日志的保存路径及文件名、设置慢查询的执行时间阈值(long_query_time)、记录未使用索引的查询语句、记录查询超过一定次数的慢查询、记录慢的优化、分析和修改表的操作等。...

    深入浅出MySQL数据库开发、优化与管理维护.doc

    本文档旨在深入浅出 MySQL 数据库开发、优化与管理维护的知识点,涵盖了 MySQL 数据库开发的基本概念、优化技巧和管理维护方法。 数据库开发篇 在本篇中,我们将学习 MySQL 数据库开发的基础知识,包括数据类型、...

    45-MySQL单表2000万数据查询慢解决方案1

    本文主要讨论了如何解决MySQL单表2000万数据查询慢的问题,通过将表分区和使用时间触发器来实现数据的优化。 分区设计 在解决方案中,我们使用的是按照8周将单表分为8个区,每周一都会将最早一周的分区Drop掉,然后...

    MySql数据库性能优化

    MySql数据库性能优化是指通过调整和优化数据库的各种参数、结构和查询语句,提高数据库的运行速度和效率,减少资源占用和系统瓶颈。下面将详细介绍MySql数据库性能优化的相关知识点。 什么是优化? 优化是指通过...

    MySQL性能优化的最佳21条经验

    17. **使用慢查询日志**:记录执行时间超过阈值的查询,分析并优化。 18. **避免在索引字段上使用运算符**:如`&gt;`, `, `!=`,这可能导致索引失效。 19. **使用连接池**:管理数据库连接,减少建立和关闭连接的开销...

    mysql性能优化总结

    MySQL性能优化是一个涵盖广泛的主题,涉及数据库设计、SQL查询优化、索引策略等多个方面。以下是对标题和描述中提到的一些关键知识点的详细说明: 1. **表的优化**: - **定长与变长字段的分离**:将定长字段(如...

    高并发基础之-MySql性能优化.pdf

    优化原则在于减少系统瓶颈,降低资源占用,提高系统的响应速度。 在MySQL中,我们可以通过`SHOW STATUS`语句来查看数据库的性能参数,如`Slow_queries`,它是记录执行时间超过预设阈值的SQL查询次数,这对于识别和...

Global site tag (gtag.js) - Google Analytics