专栏名称: macrozheng
专注Java技术分享,解析优质开源项目。涵盖SpringBoot、SpringCloud、Docker、K8S等实用技术,作者Github开源项目mall(50K+Star)。
今天看啥  ›  专栏  ›  macrozheng

用 Spring AOP 优化 IN 查询,效率提升巨大!

macrozheng  · 公众号  ·  · 2025-01-15 14:10
    

文章预览

Boot+Cloud项目学习: macrozheng.com 作者:南瓜大人 来源:juejin.cn/post/7408859165433577482 这个功能是我在之前公司写的,效果不错,然后在新公司又改良了,经过实践很有用!我们在项目中经常遇到IN查询,同时IN的参数太多甚至大几百上千,会导致PG性能下降严重进而接口反应太慢。这个应该是前期没规划好,但是事已至此还是要对此进行优化。第一个就是想到通过多线程去查,比如原来是 SELECT  *  FROM  device  WHERE   id   IN  ( 1 ,  2 ,  3 ,  4 ) 拆分为 SELECT  *  FROM  device  WHERE   id   IN  ( 1 ,  2 ) SELECT  *  FROM  device  WHERE   id   IN  ( 3 ,  4 ) 并行执行,然后将返回结果合并。 因为用的地方多,每次都要写很麻烦,所以结合SpringAOP写了一个基于注解优化方案,只需要打上注解就可以提升性能了。实现效果以及具体实现逻辑如下: @SplitWorkAnnotation (setThreadPoo ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览