首页 置换 选车 估价 问答 生活 经销商 车管所 汽车资讯 汽车销量 车牌查询 今日油价 天气预报
您的位置: 首页 > 生活 > 生活 > 如何解决慢sql(SQL高级SQL的常见问题-慢查询排查)
如何解决慢sql(SQL高级SQL的常见问题-慢查询排查)
更新时间:2024-08-11 21:30:47
目的

使用 MySQL 提供的慢查询日志,找出记录的响应时间超过阈值的 SQL 语句。

使用方法

慢查询日志默认是关闭的。

可以通过 2 种方式开启:

  • 临时开启
  • 永久开启

临时开启是在内存中开启。重启 MySQL 服务会设置失效。

如何解决慢sql(SQL高级SQL的常见问题-慢查询排查)1

永久开启是在配置文件中追加。

如何解决慢sql(SQL高级SQL的常见问题-慢查询排查)2

如何解决慢sql(SQL高级SQL的常见问题-慢查询排查)3

阈值设定方式有 2 种:

  • 临时设置
  • 永久设置

临时设置,设置完毕重新登陆起效。

如何解决慢sql(SQL高级SQL的常见问题-慢查询排查)4

永久设置

如何解决慢sql(SQL高级SQL的常见问题-慢查询排查)2

如何解决慢sql(SQL高级SQL的常见问题-慢查询排查)6

代码实例

实例 1

目的:通过 sleep(n) 来模拟慢查询,并在慢查询日志中查看。

select sleep(4)

执行结果:

如何解决慢sql(SQL高级SQL的常见问题-慢查询排查)7

实例 2

目的:通过 sleep(n) 来模拟慢查询,并使用 mysqldumpslow 工具在慢查询日志中查看。

select sleep(4)

执行结果:

获取返回记录最多的 3 个 SQL

如何解决慢sql(SQL高级SQL的常见问题-慢查询排查)8

获取访问次数最多的 3 个 SQL

如何解决慢sql(SQL高级SQL的常见问题-慢查询排查)9

按照时间排序,前 10 条包含 left join 查询语句的 SQL

如何解决慢sql(SQL高级SQL的常见问题-慢查询排查)10

,