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

我不是女神ヾ 2022-11-28 13:30 448阅读 0赞

第一步、引入maven依赖

  1. <!-- p6spy sql性能分析工具-->
  2. <dependency>
  3. <groupId>p6spy</groupId>
  4. <artifactId>p6spy</artifactId>
  5. <version>3.9.1</version>
  6. </dependency>

第二步、修改yml配置

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

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

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

  1. spy.properties

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

  1. driverlist=com.mysql.cj.jdbc.Driver
  2. logMessageFormat=com.p6spy.engine.spy.appender.MultiLineFormat
  3. #logMessageFormat=com.p6spy.engine.spy.appender.SingleLineFormat
  4. databaseDialectDateFormat=yyyy-MM-dd HH:mm:ss
  5. appender=com.p6spy.engine.spy.appender.StdoutLogger

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

  1. @Autowired
  2. UserMapper userMapper;
  3. @Test
  4. public void selectTest(){
  5. List<User> users = userMapper.selectList(null);
  6. System.out.println(users);
  7. }

在这里插入图片描述
然后就可以根据sql的执行效率分析sql对sql进行优化,当然建议并发执行取平均值作为参考数据

发表评论

表情:
评论列表 (有 0 条评论,448人围观)

还没有评论,来说两句吧...

相关阅读

    相关 使用P6Spy格式化SQL语句

    公司最近在做一个项目,开发过程中遇到点小问题,查询结果出不来,查看自带日志打印,有点不爽,特别是想复制sql语句到数据库navicat中去调试时,还要手动复制参数值,很是麻烦,

    相关 P6Spy

     P6Spy是一个可以用来在应用程序中拦截和修改数据操作语句的开源框架。通过P6Spy我们可以对SQL语句进行拦截,相当于一个SQL语句的记录器,这样我们可以用它来作相关的分析