·必答内容:
这个问题,在项目开发中,是非常常见的。在我们之前的项目中,用到了链路追踪组件 SkyWalking,通过Skyalking我们就能够知道,所有请求的调用链路及执行耗时,在显示的报表中,我们就可以看出哪一个接口比较慢,也可以看到这个接口执行过程中,每一个部分的具体耗时,包括SQL的执行具体时间也都可以看到,通过这个就可以定位慢SQL了。
那如果在一些项目中,没有用到这类的监控工具,也可以开启MVSQL的慢查询日志,通过MVSQL的慢查询日志来定位慢SQL。比如:我们可以在配置文件中配置一下,只要SQL语句的执行耗时超过1秒,我就需要将其记录在慢查询日志中,最终我们只需要通过这份慢查询日志,就能够知道哪些SQL的执行效率比较低