SQL性能优化神器!一款比druid更强大、更易定位慢SQL的工具
- 💂 个人网站: IT知识小屋
- 🤟 版权: 本文由【IT学习日记】原创、在CSDN首发、需要转载请联系博主
- 💬 如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连)和订阅专栏哦
写在前面
大家好,这里是IT学习日记。今日推荐项目:sql-analysis工具,获取方式在文后!
1000+优质开源项目推荐进度:66/1000。如需更多类型优质项目推荐,请在文章后留言。
项目简介
慢SQL是日常给线上系统带来抖动的最大隐患之一,特别是大促期间,如果出现慢SQL,破坏性不可估量!核心痛点是:无法提前发现慢SQL,可能恶化为慢SQL的语句、出现慢SQL后,无法快速止损。
**sql-analysis工具:区别于传统的依赖SQL执行耗时评估慢SQL的方法,它直接基于语法和索引进行前置分析,实时根据Explain分析结果分析,不仅能预防某些坏sql在上线后发现是慢sql,还能给出sql优化建议,可以大限度的避免线上产生慢sql。**同时支持动态对线上sql进行替换,让线上问题快速止损。

解决方案
经过调研,现在市面上主流的SQL分析组件,核心动能都是在:慢SQL的分析和优化建议、SQL优化重写功能。
主要是偏运维方面的辅助功能,无法做到无侵入和应用代码集成,也同样无法解决核心痛点:慢sql提前分析预警和动态sql替换。

sql-analysis工具提供的解决方案:
-
尽量在上线之前定位到慢SQL,最好是开发和测试阶段
-
线上出现慢SQL后,不仅可以通过修改SQL、添加索引等方式,还能能支持热更新方式替换SQL
工具特点
-
核心优势:与传统的依赖SQL执行耗时来评估慢SQL的方法不同,它基于语法和索引的前置分析,不仅可以预防某些不良SQL在上线后才被发现是慢SQL,还能提供SQL优化建议,最大程度地避免线上出现慢SQL。同时,支持动态替换线上SQL,能够快速止损。
-
性能:考虑到性能和不同使用场景,系统支持定制化配置,可以选择每个SQL仅检查一次或按指定时间间隔进行检查。SQL替换过程几乎无损耗。

-
扩展性:支持自定义扩展SQL评分规则和输出方式,便于未来扩展评分规则和以不同方式输出分析结果。
-
成本:接入成本低,无代码侵入。
快速开始
- 引入依赖:
<dependency>
<groupId>io.github.huht123.sql-analysis</groupId>
<artifactId>sql-analysis</artifactId>
<version>1.0.1</version>
</dependency>
- 配置组件xml:
<configuration>
<plugins>
<plugin interceptor="com.jd.sql.analysis.core.SqlAnalysisAspect" >
<!-- 开启sql分析功能最简配置 -->
<property name="analysisSwitch" value="true"/>
<!-- 开启sql替换功能最简配置 -->
<property name="sqlReplaceModelSwitch" value="true"/>
</plugin>
</plugins>
</configuration>

- 实践使用方案:

源码获取&使用手册
点击下方的【IT学习日记】回复【资源】领取!
如果这篇文章对您有帮助,请一定帮我点个 “关注” 和 “点赞”,这对我非常重要。我将会继续推荐更多优质项目和新闻。

更多推荐




所有评论(0)