原本一直都是用的
mybatis-plus
的sql
性能分析器的但是我把
mybatis-plus
版本升级(3.3.2
)后发现不能用了(据说是3.2.x
之后的版本都移除掉了开发的时候有个
sql
输出确实能够带来不小的帮助, 于是开始寻找解决方案我升级
mybatis-plus
的jar
包是因为提示mybatis 3.5.1
有个使用的API
将会在未来移除, 我看了下我的这个mybatis
版本是mybatis-plus
引入的, 于是直接将mybatis-plus
升级
将mybatis-plus
版本退回到3.2.x
之前
MybatisPlusConfig
中加入下满这段代码
/**
* sql性能分析插件,输出sql语句及所需时间
* @return
*/
@Bean
@Profile({"dev","test"})// 设置 dev test 环境开启
public PerformanceInterceptor performanceInterceptor() {
/*
mybatis-plus 3.2.x 以上版本移除
import com.baomidou.mybatisplus.extension.plugins.PerformanceInterceptor;
*/
return new PerformanceInterceptor();
}
使用
p6spy
来进行sql
性能分析注意
在现网环境还是使用原来的驱动, 现网环境不建议直接把
sql
打出来
p6spy
p6spy
3.9.0
主要是修改数据库连接
改用p6spy
驱动
spring.datasource.driver-class-name=com.p6spy.engine.spy.P6SpyDriver
链接配置加上p6spy
前缀
spring.datasource.url=jdbc:p6spy:mysql://x.x.x.x:3306
在resources
目录新建spy.properties
配置文件
module.log=com.p6spy.engine.logging.P6LogFactory,com.p6spy.engine.outage.P6OutageFactory
# 自定义日志打印
logMessageFormat=com.baomidou.mybatisplus.extension.p6spy.P6SpyLogger
#日志输出到控制台,解开注释就行了
appender=com.baomidou.mybatisplus.extension.p6spy.StdoutLogger
# 指定输出文件位置
logfile=sql.log
# 使用日志系统记录 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,batch,resultset
# 日期格式
dateformat=yyyy-MM-dd HH:mm:ss
# 实际驱动可多个
#driverlist=org.h2.Driver
# 是否开启慢SQL记录
outagedetection=true
# 慢SQL记录标准 2 秒
outagedetectioninterval=2
Consume Time:66 ms 2020-07-17 20:24:47
Execute SQL:INSERT INTO floor ( name, home_id, revision, status, create_user, create_time, update_user, update_time ) VALUES ( '一楼', 10, 1, 1, 'test1', '2020-07-17T20:24:47.552561', 'test1', '2020-07-17T20:24:47.552648' )