慢查询优化策略

本文介绍了如何处理MySQL的慢查询问题,包括开启慢查询日志、查看日志位置、使用EXPLAIN分析SQL执行计划,以及根据执行计划进行SQL优化,如利用索引、优化分页、简化复杂SQL等。
摘要由CSDN通过智能技术生成

mysql慢查询

当系统遇到慢查询sql性能瓶颈,如何去定位以及优化?

  1. 开启慢查询
  2. 查看慢查询日志
  3. 定位分析慢查询sql(expalin)
  4. sql优化(索引,分页,表连接,分解复杂sql等等)

开启慢查询

查询慢查询是否打开 show variables like '%slow_query_log'

查看慢查询日志位置

通过命令查询慢查询日志路径:SHOW VARIABLES LIKE '%query%';

定位分析慢查询sql

explain sql(执行计划查看)

expain出来的信息有10列,分别是id、select_type、table、type、possible_keys、key、key_len、ref、rows、Extra,下面对这些字段出现的可能进行解释:

select_type

  1. SIMPLE(简单SELECT,不使用UNION或子查询等)
  2. PRIMARY(查询中若包含任何复杂的子部分,最外层的select被标记为PRIMARY)
  3. UNION(UNION中的第二个或后面的SELECT语句)
  4. DEPENDENT UNION(UNION中的第二个或后面的SELECT语句,取决于外面的查询)
  5. UNION RESULT(UNION的结果)
  6. SUBQUERY(子查询中的第一个SELECT)
  7. DEPENDENT SUBQUERY(子查询中的第一个SELECT,取决于外面的查询)
  8. DERIVED(派生表的SELECT, FROM子句的子查询)
  9. UNCACHEABLE SUBQUER
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值