MybatisPlus进阶篇学习笔记(五)------性能分析

原创:兜里的猫

本章目录

  • 性能分析简介
  • 性能分析使用

1 性能分析简介

性能分析拦截器,用于输出每条SQL语句及其执行时间。建议在开发环境使用,生产环境就不要用了,因为会增加系统开销。

3.2.0版本以下使用方式和3.2.0版本以上使用方式不一样,
这里演示环境使用的3.3.0版本。

2 性能分析使用

①.在maven中引入如下依赖:

<dependency>
  <groupId>p6spy</groupId>
  <artifactId>p6spy</artifactId>
  <version>3.8.2</version>
</dependency>

②.修改application.yml配置文件

spring:
  datasource:
    #driver-class-name: com.mysql.cj.jdbc.Driver
    #url: jdbc:mysql://localhost:3306/mybatis-plus-high?useSSL=false&serverTimezone=GMT%2B8
# 注释原来的驱动,使用p6spy的驱动
driver-class-name:com.p6spy.engine.spy.P6SpyDriver
# url在jdbc和mysql之间加个p6spy
url: jdbc:p6spy:mysql://localhost:3306/mybatis-plus-high?useSSL=false&amp;serverTimezone=GMT%2B8

username: root
password: root

③.在resources下新建spy.properties配置文件

直接复制粘贴即用,也可自行修改相关配置。

# 3.2.1以上使用
modulelist=com.baomidou.mybatisplus.extension.p6spy.MybatisPlusLogFactory,com.p6spy.engine.outage.P6OutageFactory
# 3.2.1以下使用或者不配置
#modulelist=com.p6spy.engine.logging.P6LogFactory,com.p6spy.engine.outage.P6OutageFactory
# 自定义日志打印
logMessageFormat=com.baomidou.mybatisplus.extension.p6spy.P6SpyLogger
# 日志输出到控制台
appender=com.baomidou.mybatisplus.extension.p6spy.StdoutLogger
# 使用日志系统记录 sql
#appender=com.p6spy.engine.spy.appender.Slf4JLogger
# 设置 p6spy driver 代理
deregisterdrivers=true
# 取消JDBC URL前缀
useprefix=true
# 配置记录 Log 例外,可去掉的结果集有error,info,batch,debug,statement,commit,rollback,result,resultset.
excludecategories=info,debug,result,commit,resultset
# 日期格式
dateformat=yyyy-MM-dd HH:mm:ss
# 实际驱动可多个
#driverlist=org.h2.Driver
# 是否开启慢SQL记录
outagedetection=true
# 慢SQL记录标准 2 秒
outagedetectioninterval=2

④.测试

代码无需任何修改,直接执行一个方法进行测试打印。

打印信息有sql执行时间、打印时间以及执行完整sql.

当spy.properties配置文件中配置该属性时打印到控制台

#日志输出到控制台
appender=com.baomidou.mybatisplus.extension.p6spy.StdoutLogger
image
image

当spy.properties配置文件中配置该属性时打印到文件

#日志输出到文件
log=spy.log
image
image

从图中可以看到控制台没有打印,而是打印到spy.log文件中。

注意:

  • driver-class-name 为 p6spy 提供的驱动类
  • url 前缀为 jdbc:p6spy 跟着冒号为对应数据库连接地址
  • 打印出sql为null,在excludecategories增加commit
  • 批量操作不打印sql,去除excludecategories中的batch
  • 批量操作打印重复的问题请使用MybatisPlusLogFactory (3.2.1新增)
  • 该插件有性能损耗,不建议生产环境使用。
兜里的猫 小程序

dvdf

欢迎访问博客网页版:www.wldeer.com

评论

兜里的猫 : 是md
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×