Commit 62616758 authored by tianbo's avatar tianbo

perf(database): 优化机构监管信息批量更新SQL性能

- 将批量更新语句从循环执行改为单次批量更新 - 使用FROM子句和VALUES构造临时表进行批量操作 - 减少数据库交互次数提升更新效率
parent c9772102
......@@ -2,9 +2,16 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgSupervisionInfoMapper">
<update id="updateOrgBranchCodeBatch">
<foreach collection="dtos" separator=";" item="dto" open="" close="">
UPDATE idx_biz_jg_supervision_info SET "ORG_BRANCH_CODE"=#{dto.orgBranchCode}, "ORG_BRANCH_NAME"=#{dto.ORG_BRANCH_NAME} WHERE record = #{dto.SEQUENCE_NBR}
UPDATE idx_biz_jg_supervision_info SET
"ORG_BRANCH_CODE" = temp_table."ORG_BRANCH_CODE",
"ORG_BRANCH_NAME" = temp_table."ORG_BRANCH_NAME"
FROM (
VALUES
<foreach collection="dtos" separator="," item="dto" index="index">
(#{dto.orgBranchCode}, #{dto.ORG_BRANCH_NAME}, #{dto.SEQUENCE_NBR})
</foreach>
) AS temp_table("ORG_BRANCH_CODE", "ORG_BRANCH_NAME", "RECORD")
WHERE idx_biz_jg_supervision_info."RECORD" = temp_table."RECORD"
</update>
</mapper>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment