狂神说Java:https://www.bilibili.com/video/BV17E411N7KN?p=13学习笔记
一、性能分析插件
- 功能:开发时,我们会遇到一些慢sql,但工作中不允许用户等待,因此我们需要揪出慢sql,将其优化
- Mybtis-plus性能分析插件就是可以揪出慢sql的工具,它会分析每条sql执行的时间,超时停止运行
1.导入插件
@Bean
@Profile({"dev","test"}) //设置测试环境和开发环境开启,保证效率
public PerformanceInterceptor performanceInterceptor(){
PerformanceInterceptor performanceInterceptor = new PerformanceInterceptor();
performanceInterceptor.setMaxTime(1); //ms 设置sql执行最大时间为1ms,超时则不执行
performanceInterceptor.setFormat(true); //格式化sql语句
return performanceInterceptor;
}
2.在application.yml中设置开发环境
spring:
profiles:
active: dev
3.测试分析
@Test
public void testSelect(){
HashMap<String, Object> map = new HashMap<>();
List<User> users = userMapper.selectByMap(map);
users.forEach(System.out::println);
}
- 查询数据库出错,因为sql语句执行时间为42ms,大于设置的1ms
- sql语言已格式化
4.将限制时间改为100ms,再次测试
@Bean
@Profile({"dev","test"}) //设置测试环境和开发环境开启,保证效率
public PerformanceInterceptor performanceInterceptor(){
PerformanceInterceptor performanceInterceptor = new PerformanceInterceptor();
performanceInterceptor.setMaxTime(100); //ms 设置sql执行最大时间为1ms,超时则不执行
performanceInterceptor.setFormat(true); //格式化sql语句
return performanceInterceptor;
}