性能优化:事务的批量数据获取主键处理的调优
这次项目优先测底层服务,在第一轮完成数据正确性,数据兼容,服务兼容后,第二轮完成业务测试后,进行并发简单试压测试,分析耗时单个业务在31秒,完全无法上线用。
分析业务过程耗时后,发现有大量的循环单次insert,其中一块用去了29秒多。找开发讨论后,最后确定尝试改底层来实现更快速的实现方法,当然过程中不断否定几种思路。
顺带知道了JDBC这回事,以前一直测没明确概念,这次顺带都了解了一遍。
简单的说就是循环insert为了更好获取主键传递给下一层数据insert,而这样处理无法避免大量insert的业务性能很差很差,解决就是批量获取一次批量insert的所有主键。已有的底层编写是不支持的,开发也坚持这个意见认为无法优化。最终坚持弄明白下,还是找到了方法。