MP实战系列(十六)之性能分析插件

简介:

性能分析拦截器,用于输出每条 SQL 语句及其执行时间。

虽然使用阿里的Druid连接池可以完成这个目的,但是,我们一般认为,目前的组件能够达到这个目的,尽量使用目前的组件,因为修改配置和引入第三方库是需要消耗性能的。

很久使用我们没有这种便利的开发工具来测试性能, 比如以MySQL为例,我们就使用explain命令来测试性能。

输出每条SQL语句和执行时间的目的,在于,直观看到那些是需要优化的,例如SQL优化,通常除去查询大量数据加索引的情况,一般都是去除不需要获取的字段来达到sql优化的目的。

Spring+SpringMVC+MyBatis-Plus(SSM框架)

只需在mybatis-config.xml配置如下内容即可(这里有效的测试,目前针对于2.0以上和3.0以下,3.0以上没测试过,暂不考虑,我想3.0应该也没问题):

<!-- SQL 执行性能分析,开发环境使用,线上不推荐。 maxTime 指的是 sql 最大执行时长 -->
<plugin interceptor="com.baomidou.mybatisplus.plugins.PerformanceInterceptor">
    <property name="maxTime" value="100" />
    <!--SQL是否格式化 默认false-->
    <property name="format" value="true" />
</plugin>

如果是SpringBoot的话,增加如下内容即可:

@EnableTransactionManagement
@Configuration
@MapperScan("com.blog.service..mapper")
public class MybatisPlusConfig {

/**
 * SQL执行效率插件
 */
@Bean
@Profile({"dev","test"})// 设置 dev test 环境开启
public PerformanceInterceptor performanceInterceptor() {
    return new PerformanceInterceptor();
}

}

注意事项:

参数:maxTime SQL 执行最大时长,超过自动停止运行,有助于发现问题。
参数:format SQL SQL是否格式化,默认false。

建议开发环境使用,生产环境不要使用,还是那句话,生产环境加上这个会消耗一定的性能。所以一般开发环境开启,生产环境禁用。

目录
相关文章
|
7月前
|
数据可视化 Go 数据库
性能分析神器:pprof命令详解与实战
性能分析神器:pprof命令详解与实战
923 0
性能分析神器:pprof命令详解与实战
|
2月前
|
SQL 监控 关系型数据库
SQL语句性能分析:实战技巧与详细方法
在数据库管理中,分析SQL语句的性能是优化数据库查询、提升系统响应速度的重要步骤
|
7月前
|
监控 数据可视化 数据挖掘
Golang性能分析神器:pprof与火焰图实战揭秘
在软件开发的世界里,性能分析如同一把锋利的剑,它能帮助开发者洞悉程序的运行状态,发现并解决那些隐藏在代码深处的性能瓶颈。而在Go语言的生态系统中,pprof无疑是这把剑中的佼佼者。本文将带你深入了解pprof的使用方法,并通过火焰图这一直观的工具,让你对性能分析有一个全新的认识。
|
缓存 负载均衡 算法
精华推荐 | 深入浅出学习透析Nginx服务器的基本原理和配置指南「Keepalive性能分析实战篇」
精华推荐 | 深入浅出学习透析Nginx服务器的基本原理和配置指南「Keepalive性能分析实战篇」
259 0
精华推荐 | 深入浅出学习透析Nginx服务器的基本原理和配置指南「Keepalive性能分析实战篇」
|
Web App开发 移动开发 缓存
|
SQL Java 测试技术
项目技术点-MybatisPlus 性能分析插件 | 学习笔记
快速学习 项目技术点-MybatisPlus 性能分析插件
140 0
|
Web App开发 移动开发 缓存
实战演示 H5 性能分析
实战演示 H5 性能分析
|
SQL Java 程序员
MyBatis-Plus - 高级功能——SQL性能分析打印插件
MyBatis-Plus - 高级功能——SQL性能分析打印插件
987 0
MyBatis-Plus - 高级功能——SQL性能分析打印插件
|
SQL 监控 网络协议
云架构系统如何做性能分析?| 实战干货
云架构系统如何做性能分析?| 实战干货
|
Web App开发 移动开发 缓存
干货 | H5性能分析实战来啦~
干货 | H5性能分析实战来啦~