慢查询是什么意思

前言

慢查询,顾名思义,就是比较慢的查询,那什么是算是慢查询呢?不同的公司对于慢查询的定义不尽相同。

超过 long_query_time 参数设定的时间阈值(默认 10s),就被认为是慢的,是需要优化的。这个值可以修改为公司定义的时间,一般来说是 1s。

慢查询配置

慢查询会被记录在慢查询日志里。

默认情况下,MySQL 数据库没有开启慢查询日志,需要手动来设置这个参数。

  • 查看日志开关:show variables like '%query%';
  • 打开日志开关:set global slow_query_log='ON';
  • 设置阈值:set long_query_time=1;
  • 执行 SQL 语句
  • 查看日志内容找到慢查询语句

开启慢查询日志,可以让 MySQL 记录下查询超过指定时间的语句,通过定位分析性能的瓶颈,才能更好的优化数据库系统的性能。

当然,如果不是调优需要的话,一般不建议启动这个参数,因为开启满查询日志多少会有一些性能影响。