分析 MyBatis/MyBatis-Plus 慢 SQL 的分析组件 --SQL 慢镜🕵️‍♀️

大家好!我是聪ζ🌱我做了一个分析 MyBatis/MyBatis-Plus 慢 SQL 的分析组件 --SQL 慢镜🕵️‍♀️

GitHub仓库地址🚀: github.com/lhccong/sql... 点点 star 我的朋友们✨

背景🧊:

大家在编写项目的过程中是否经常遇到要分析 SQL 语句是否要加索引的问题,SQL 太慢使用了 MyBatis 有多个无法快速定位的问题,让我们十分头痛🤡。

项目介绍💡 :

该项目后端基于 MyBatis + MyBatis-Plus + easyRule(规则引擎) 进行开发组件。😁 项目参考了京东开源组件 sql-analysis 进行开发,不愧是京东⚡。

功能介绍🌈:

SQL 慢镜是一个能帮助到大家快速定位慢 SQL 以及分析慢 SQL 的组件,通过分析 MySQL 的执行计划来给出结果评分。

1、用户可以通过自定义输出如:发送 MQ、保存数据库等自定义的方式来输出。

2、用户可以自定义规则,来按照自己想要的规则来进行 SQL 的打分📑。

3、通过可以通过 慢镜 给出的分析结果来选择是否对 SQL 进行修改、添加索引等操作简单明了。

亮点✨:

1、使用了 MyBatis 拦截切面来进行 SQL 获取。

2、通过分析 MyBatis 的 Invocation 来进行 SQL 语句的解析。

3、实现了通过读取 YML 配置来进行属性注入。

4、使用了函数式编程来进行日志的打印输出。

5、使用了 easyRule 规则引擎来进行 SQL 分析计划的评分。

6、项目对各个方面操作做了清晰的注释以及清晰的 demo,方便大家阅读学习

扩展思路🔥:

1、SQL 替换,在 SQL 执行前根据指定的 Sqlid 替换掉指定的 SQL。

2、实现 MQ 发送日志的形式。

3、实现将分析结果生成文件。

4、通过封装 Starter 来进行注解拦截分析。

5、实现 Hibernate JPA 的方式进行拦截处理。

相关推荐
豌豆花下猫1 分钟前
Python 潮流周刊#106:PEP-734 正式接纳,多解释器时代来临(摘要)
后端·python·ai
白总Server1 小时前
Golang实现分布式Masscan任务调度系统
java·运维·服务器·开发语言·分布式·后端·golang
lb29171 小时前
关于golang热加载安装,实时响应
开发语言·后端·golang·热加载
羊小猪~~2 小时前
数据库学习笔记(十五)--变量与定义条件与处理程序
数据库·人工智能·笔记·后端·sql·学习·mysql
墨家巨子@俏如来2 小时前
一.干货干货!!!SpringAI入门到实战-小试牛刀
后端·springai·ai人工智能
ahhhhaaaa-2 小时前
【AI图像生成网站&Golang】部署图像生成服务(阿里云ACK+GPU实例)
开发语言·数据仓库·人工智能·后端·阿里云·golang
jdyzzy3 小时前
从0到1做一个“任务管理系统”:Spring Boot + Vue 实战教程(含源码)
vue.js·spring boot·后端
愚农搬码3 小时前
LangChain 调用不同类型的多MCP服务
人工智能·后端
我会冲击波3 小时前
推荐一款让代码命名变得轻松高效的idea插件
后端
楽码3 小时前
安装和编写grpc协议文件
服务器·后端·grpc