学习随笔@慢sql优化过程

开启和配置MySQL的慢查询日志,设置long_query_time为1秒,捕获并分析超过1秒的SQL语句。使用explain检查执行计划,针对慢SQL创建索引并调整语句,以提升数据库性能。通过对比调整前后的执行计划,评估优化效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

思路

  1. 开启慢查询日志,设置超过几秒为慢SQL语句,抓取慢SQL语句
  2. 通过explain查看执行计划,对慢SQL语句分析
  3. 创建索引并调整语句,再查看执行计划,对比调优结果
    ###具体方法操作
  • 慢查询日志
    1. 查看配置 SHOW VARIABLES LIKE ‘%quer%’;
    2. 设置日志开关
      • 开启日志:set global slow_query_log=on
      • 关闭日志:set global slow_query_log=off
    3. 配置
参数解释
slow_query_log表示是否开启慢查询日志。语句“set global slow_query_log=on”临时开启慢查询日志,如果想关闭慢查询日志只需要执行“set global slow_query_log=off ”
slow_query_log_file当使用文件存储慢查询日志时(log_output设置为“FILE”或者“FILE,TABLE”时),指定慢查询日志存储于哪个日志文件中,默认的慢查询日志文件名为“主机名-slow.log”,慢查询日志的位置为datadir参数所对应的目录位置
long_query_time表示“多长时间的查询”被认定为“慢查询”,默认值为10秒,表示超过10秒的查询被认定为慢查询。语句“set long_query_time=1”表示现在起所有执行时间超过1秒的SQL都将被记录到慢查询文件中
log_queries_not_using_indexes表示如果运行的SQL语句没有使用到索引,是否也被当作慢查询语句记录到慢查询日志中,OFF表示不记录,ON表示记录
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乘风御浪云帆之上

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值