当前位置: 首页 > news >正文

慢SQL出现原因、优化、开启慢查询日志

文章目录

      • 慢SQL:
        • 出现原因:
        • 解决方式:
      • 开启慢查询日志:

慢SQL:

出现原因:

(1)数据库表索引设置不合理
(2)SQL语句有问题,需要优化

解决方式:

(1)
不要创建太多索引,索引越多,在更新数据时越复杂;
使用常用查询字段来建立索引;
对经常使用order by,group by ,distinct,union等操作的字段建立索引;
(2)
减少索引失效的情况,如:尽量不对索引字段使用函数和进行表达式计算,不对索引字段使用not in,not exist ,<>,!=,不对索引字段使用左模糊,不对索引字段进行隐式转换;
使用连接代替子查询,在大多数情况下,连接比子查询快;
禁止分页查询偏移量过大;
使用覆盖索引,减少回表查询次数;
遵循最左匹配原则;
使用联合索引,而非建立多个单独索引;

开启慢查询日志:

开启慢查询日志,可以让Mysql记录下查询超过指定时间的语句,然后更好的优化数据库性能

(1)查看是否开启慢查询日志:
在这里插入图片描述

命令:

show variables like 'slow_query%';

在这里插入图片描述
OFF表示没有开启

(2)可以通过命令来开启慢查询日志:
1>将全局变量设置为ON:

set global slow_query_log='ON';

在这里插入图片描述
2>设置慢查询日志存放的位置:

set global slow_query_log_file='\dev\mysql-5.7.36-winx64\data\LAPTOP-DLG6HJFB-slow.log';

在这里插入图片描述

3>设置查询超过1秒就记录在日志中:

set global long_query_time=1;

在这里插入图片描述
4>通过查看命令来检查是否设置成功:

show variables like 'slow_query%';
show variables like 'long_query_time';
http://www.lryc.cn/news/20796.html

相关文章:

  • 要理解网络,其实不就是理解这三张表吗
  • Java异常架构与异常关键字
  • 【阅读笔记】SecureML: A System for ScalablePrivacy-Preserving Machine Learning
  • 【2023美赛】C题Wordle预测27页中文论文及Python代码详解
  • 【C++修行之路】STL——模拟实现string类
  • CorelDRAW2023最新版序列号使用教程
  • 【一天一门编程语言】Python 语言程序设计极简教程
  • 14、KL散度
  • TypeError: load() missing 1 required positional argument: ‘Loader‘解决方案
  • 【设计模式】 观察者模式介绍及C代码实现
  • 01-Maven基础-简介安装、基本使用(命令)、IDEA配置、(写jar,刷新自动下载)、依赖管理
  • 一、前端稳定性规约该如何制定
  • Docker(三)Docker网络
  • Js高级API
  • 团队:在人身上,你到底愿意花多大精力?
  • Linux-Poolkit提权
  • 【React全家桶】React Hooks
  • CLIP论文阅读
  • 华为OD机试真题Python实现【身高排序】真题+解题思路+代码(20222023)
  • Spring Cache的使用--快速上手篇
  • (三十八)MySQL是如何支持4种事务隔离级别的?Spring事务注解是如何设置的?
  • 【博学谷学习记录】大数据课程-学习第八周总结
  • go cobra初试
  • 【react全家桶】 事件处理
  • RabbitMQ交换机(Exchanges)
  • 2023年java初级面试题10道基础试水题
  • 烙铁使用方法
  • golang日期转换、日期增减计算、时间戳转换
  • Android 多种支付方式的优雅实现
  • 算法设计与分析期末考试复习(三)