美文网首页
MySQL的SQL语句如何优化

MySQL的SQL语句如何优化

作者: Wangtwodog | 来源:发表于2018-12-19 11:45 被阅读0次

1.如何获取有性能问题的SQL

    通过用户反馈获取存在性能问题的SQL

    通过慢查日志获取存在性能问题的SQL

    实时获取存在性能问题的SQL

2慢查询日志介绍

    slow_query_log 启动停止记录慢查日志

    slow_query_log_file 指定慢查日志的存储路径及文件

    long_query_time 指定记录慢查日志SQL执行时间的伐值

    log_queries_not_using_indexes 是否记录未使用索引的SQL

    常用的慢查日志分析工具(mysqldumpslow)

    汇总除查询条件外其它完全相同的SQL,并将分析结果按照参数中所指定的顺序输出。

如何实时获取有性能问题的SQL:

SELECTid,'user','host',DB,command,'time',state,infoFROMinformation_schema.PROCESSLISTWHERETIME>=60

通过脚本周期性的执行以上SQL,就可以实时获取性能问题。

3.SQL的解析预处理及生成执行计划

MySQL服务器处理查询请求的整个过程:

    客户端发送SQL请求给服务器

    服务器检查是否可以在查询缓存中命中该SQL

    服务器端进行SQL解析,预处理,再由优化器生成对应的执行计划

    根据执行计划,调用存储引擎API来查询数据

    将结果返回给客户端

查询缓存对SQL性能的影响:

    优先检查这个查询是否命中查询缓存中的数据。是通过一个对大小写敏感的哈希查找实现的。hash查找只能进行全值匹配。从查询缓存中直接返回结果并不容易。对于一个读写频繁的系统使用查询缓存很可能会降低查询处理的效率。建议不要使用查询缓存。

    MySQL优化器可优化的SQL类型

    重新定义表的关联顺序

    将外连接转换成内连接

    使用等价变换规则

    优化count()、min()和max()

    将一个表达式转化为常数表达式

    使用等价变换规则

    子查询优化

    提前终止查询

    对in()条件进行优化

相关文章

  • face19 mysql查询优化

    mysql查询优化 sql语句优化的一些方法 先说明如何定位低效sql语句,然后根据低效原因做排查,先从索引着手,...

  • MySQL索引优化工具 explain

    一、Explain 用法 模拟Mysql优化器是如何执行SQL查询语句的,从而知道Mysql是如何处理你的SQL语...

  • 7 Explain详解

    使用Explain关键字可以模拟优化器执行SQL查询语句,从而指导MySQL是如何处理SQL语句的.分析查询语句或...

  • mysql explain详解

    使用EXPLAIN关键字可以模拟优化器执行SQL语句,从而知道MySQL是如何处理你的SQL语句的。可以分析SQL...

  • 深入理解MySql的Explain

    explain关键字可以模拟优化器执行SQL语句,从而知道MySQL是 如何处理你的SQL语句的。分析你的查询语句...

  • 千万级MySQL数据库建立索引,提高性能的秘诀

    实践中如何优化MySQL 实践中,MySQL的优化主要涉及SQL语句及索引的优化、数据表结构的优化、系统配置的优化...

  • MySQL实战13 Explain详解与索引最佳实践

    MySQL实战 目录使用EXPLAIN关键字可以模拟优化器执行SQL语句,从而知道MySQL是 如何处理你的SQL...

  • 详解mysql的EXPLAIN命令

    一 简介 使用explain命令可以模拟优化器执行sql语句,从而知道mysql是如何处理我们写的sql语句的,还...

  • 2. Mysql执行计划与索引详解

    使用EXPLAIN关键字可以模拟优化器执行SQL语句,从而知道MySQL是 如何处理你的SQL语句的。分析你的查询...

  • SQL优化关键字EXPLAIN

    使用EXPLAIN关键字可以模拟优化器执行SQL语句,从而知道MySQL是 如何处理你的SQL语句的。分析你的查询...

网友评论

      本文标题:MySQL的SQL语句如何优化

      本文链接:https://www.haomeiwen.com/subject/miwdkqtx.html