【数据库篇01】mysql优化-如何定位慢查询

1 阅读1分钟

如何定位慢查询?

慢查询出现的情况有这些:

  • 聚合查询
  • 多表查询
  • 表数据量过大查询
  • 深度分页 表象:网页加载过慢,接口压测响应时间过长(如1秒)
    假如就是接口比较慢,如何确定就是SQL慢的问题呢?

通常情况下:我们定位慢查询有两种方式,方案一:就是使用一些开源工具进行监听和调试。

  • 调试工具:Arthas(通过命令的方式去监控已经上线的项目,跟踪执行比较慢的方法,查询执行的时间,最终确定哪里出了问题)
  • 运维工具:Prometheus、Skywalking(有些指标的数据,可以实时查看接口的情况) 方案二:使用MySQL自带的工具,MySQL自带的慢日志查询 配置slow_query_log=1、long_query_time=2