MyBatisPlus-02-性能分析

本文介绍了如何通过引入P6Spy依赖并配置相关属性,来监控和分析SQL执行效率。设置SQL最大执行时间,超过则不执行。配置包括Spring数据源、P6Spy的driver-class-name和url前缀,以及`spy.properties`文件中的模块列表、日志格式等选项。通过这些配置,可以实现SQL执行的日志打印和性能监控,从而优化数据库操作性能。
摘要由CSDN通过智能技术生成

1. 执行 SQL 分析打印(性能分析插件)

  • 监测SQL执行效率
  • 设置SQL执行的最大时间,如果超过了,就不执行
  1. 导入依赖
        <dependency>
            <groupId>p6spy</groupId>
            <artifactId>p6spy</artifactId>
            <version>3.9.1</version>
        </dependency>
  1. 配置文件配置(只需要修改driver-class-name和url的前缀即可)
spring:
  datasource:
    driver-class-name: com.p6spy.engine.spy.P6SpyDriver
    url: jdbc:p6spy:mysql://localhost:3306/mybatis-plus?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
  1. 增加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
  1. 执行SQL,查看控制台打印
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MyBatisPlus性能分析插件是一个用于分析数据库性能的工具。它可以帮助我们定位慢SQL并分析导致性能问题的原因,从而进行针对性的数据库优化。在开发中,我们可以使用一些测压工具或者第三方插件来查看慢SQL并分析性能,而在MyBatisPlus中,它集成了性能分析插件,非常方便使用。该插件允许我们设置SQL执行的最大时间,如果超过了这个时间,就会停止执行。我们可以通过以下示例代码来使用MyBatisPlus性能分析插件: ``` // 导入插件 @Bean @Profile({"dev","test"}) // 设置dev、test环境开启,保证我们的效率 public PerformanceInterceptor performanceInterceptor() { PerformanceInterceptor performanceInterceptor = new PerformanceInterceptor(); performanceInterceptor.setMaxTime(100); // 设置SQL执行的最大时间,如果超过了则不执行 performanceInterceptor.setFormat(true); // 是否格式化代码 return performanceInterceptor; } ``` 通过以上配置,我们可以在开发和测试环境中启用性能分析插件,设置SQL执行的最大时间为100毫秒,超过这个时间的SQL将不会被执行,并且可以选择是否格式化代码。这样我们就可以方便地使用MyBatisPlus性能分析插件来提升数据库性能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [MyBatisPlus插件扩展_PerformanceInterceptor性能分析插件的使用示例代码](https://download.csdn.net/download/badao_liumang_qizhi/11147598)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [MybatisPlus基础学习之性能分析插件](https://blog.csdn.net/weixin_45301250/article/details/119066651)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [MyBatisPlus(四)性能分析插件 | 条件构造器 | 代码生成器](https://blog.csdn.net/weixin_45606067/article/details/108811812)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值