在开发中,我们会遇到一些慢sql,一般可以通过压测,druid进行分析,mybatis-plus也提供了性能分析插件,如果超过一定时间,就停止运行
1、导入插件
// sql执行效率插件
@Bean
@Profile({"dev", "test"}) // 设置只有dev、test才开启,保证运行效率
public PerformanceInterceptor performanceInterceptor() {
PerformanceInterceptor performanceInterceptor = new PerformanceInterceptor();
performanceInterceptor.setMaxTime(100); // 单位毫秒 ms ,设置sql执行的最长时间,如果超过了则不再执行sql
performanceInterceptor.setFormat(true); // 开启sql格式化支持
return performanceInterceptor;
}
2、配置springboot当前环境为开发环境
# 设置开发环境
spring.profiles.active=dev
3、执行测试代码
可以看到当前sql执行时间,这在工作中非常常用,一般业务场景下,超过1s的sql都被定义为慢sql,发现sql较慢久需要优化了
启用了性能分析插件,只要sql超出设置的最大值,就会抛出异常帮助定位sql