使用Spring 4.3.0 JDBC模板插入或更新逻辑,处理时间占总记录的5%

问题描述

Spring应用程序每分钟从kafka主题读取大约200个事件,并使用对两列组合的where子句更新单个表。在组合键上设置正确的索引。

记录更新的处理时间几乎是恒定的(

到目前为止,我们还检查了cpu利用率,内存,线程数和行锁等待时间,似乎没有问题。请提出其他建议以分析此问题。

用于数据库操作的技术堆栈。 春季4.3.0 Spring Jdbc模板。 C3P0连接池

代码

    UPDATE tablename
SET
    column1 = 'string1',column2 = 'string2',column3 = 0.1,column4 = 'string3',column5 = 0.1,column6 = 'string4',column7 = to_timestamp('2020-10-21_08.00.02_861','YYYY-MM-DD HH24:MI:SS_FF')
WHERE
    compositeKeyA = 210
    AND compositeKeyB = '123'; 

示例更新:-

@Observedobject

解决方法

如果它每30秒出现一次,则它看起来像是默认值-例如等待时间,空闲时间等。您是否尝试增加池化连接数并关闭未使用的连接?