第一步、引入maven依赖

<!-- p6spy sql性能分析工具-->
<dependency>
  <groupId>p6spy</groupId>
  <artifactId>p6spy</artifactId>
  <version>3.9.1</version>
</dependency>

第二步、修改yml配置

原先的urldriver-class-name修改成p6spy的驱动和url形式。
本质上p6spy相当于代理了jdbc操作

server:
 port: 8088
spring:
 datasource:
  driver-class-name: com.p6spy.engine.spy.P6SpyDriver
  url: jdbc:p6spy:mysql://localhost:3306/mp_high?useSSL=false&serverTimezone=GMT%2B8
#  driver-class-name: com.mysql.cj.jdbc.Driver
#  url: jdbc:mysql://localhost:3306/mp_high?useSSL=false&serverTimezone=GMT%2B8
  username: root
  password: 123456
mybatis-plus:
 configuration:
  map-underscore-to-camel-case: true # 开启驼峰命名

第三步、新建一个spy.properties文件

spy.properties

文件内容:填入jdbc连接的驱动,以及日志输出配置

driverlist=com.mysql.cj.jdbc.Driver

logMessageFormat=com.p6spy.engine.spy.appender.MultiLineFormat
#logMessageFormat=com.p6spy.engine.spy.appender.SingleLineFormat

databaseDialectDateFormat=yyyy-MM-dd HH:mm:ss

appender=com.p6spy.engine.spy.appender.StdoutLogger

完成!然后就可以在控制台中查看到执行sql返回数据消耗的时间例如:

@Autowired
UserMapper userMapper;

@Test
public void selectTest(){
  List<User> users = userMapper.selectList(null);
  System.out.println(users);
}

Mybatis-Plus使用p6spy对SQL性能进行监控的方法

然后就可以根据sql的执行效率分析sql对sql进行优化,当然建议并发执行取平均值作为参考数据

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。