概述
性能分析拦截器,用于输出每条 SQL 语句及其执行时间,SQL 性能执行分析, 开发环境使用,超过指定时间,停止运行。有助于发现问题
配置 SQL 性能分析插件
修改 Config.java
添加如下内容
/**
* SQL执行性能分析插件
*/
({"dev", "test"})
public PerformanceInterceptor performanceInterceptor() {
PerformanceInterceptor paginationInterceptor = new PerformanceInterceptor();
// 参数单位为:ms,超过此处设置的ms则该SQL不会被执行
paginationInterceptor.setMaxTime(100);
// 格式化SQL
paginationInterceptor.setFormat(true);
return paginationInterceptor;
}
开发环境使用,线上不推荐使用
- 参数1:maxTime,SQL 执行的最大时长,超过自动停止运行,有助于发现问题
- 参数2:format,SQL 是否格式化,默认 false
设置环境
修改 application.properties
文件添加如下内容,即可完成设置对应的环境
# 环境设置:dev、test、prod
spring.profiles.active=dev
可以针对各环境新建不同的配置文件 application-dev.properties
、application-test.properties
、application-prod.properties
设置完成了对应的环境之后执行一下我之前编写好的全查询那个方法,查看效果如下图所示
发现超过了我设置的时长,这里说明一下上方我配置的为 100,在我运行的时候为了给出效果我改为了 10,发现执行失败了,提示我们 SQL 执行时间太长,请优化,如上就是本章的核心内容