基于mybatis向oracle中插入数据的性能对比

数据库表结构:

逐条插入sql语句:

    <insert id="insert" parameterType="com.Structure">
        INSERT INTO
        STRUCTURE(
        id,
        structureNAME,
        PARENTID,
        structureType,
        description,
        deptId,
        propertyCompanyId,
        sort,
        communityId)
        VALUES(
        #{id,jdbcType=VARCHAR},
        #{structureName,jdbcType=VARCHAR},
        #{parentId,jdbcType=VARCHAR},
        #{structureType,jdbcType=NUMERIC},
        #{description,jdbcType=VARCHAR},
        #{deptId,jdbcType=VARCHAR},
        #{propertyCompanyId,jdbcType=VARCHAR},
        #{sort,jdbcType=VARCHAR},
        #{communityId,jdbcType=VARCHAR})
    </insert>

 

批量插入sql语句:

<insert id="insertBatch" parameterType="java.util.List">
        BEGIN
        <foreach collection="list" item="item" index="index"
            separator=";">
            INSERT INTO
            STRUCTURE(
            id,
            structureNAME,
            PARENTID,
            structureType,
            description,
            deptId,
            propertyCompanyId,
            sort,
            communityId)
            VALUES
            (
            #{item.id,jdbcType=VARCHAR},
            #{item.structureName,jdbcType=VARCHAR},
            #{item.parentId,jdbcType=VARCHAR},
            #{item.structureType,jdbcType=NUMERIC},
            #{item.description,jdbcType=VARCHAR},
            #{item.deptId,jdbcType=VARCHAR},
            #{item.propertyCompanyId,jdbcType=VARCHAR},
            #{item.sort,jdbcType=VARCHAR},
            #{item.communityId,jdbcType=VARCHAR})
        </foreach>
        ;END ;
    </insert>

 

性能测试结果:

数量级批量插入耗时(ms)逐条插入耗时(ms)
105068
100197257
1600167133384

 

 

 

 

没想到到千级别的数量级就已经有如此巨大的耗时差别。

不知道是否有写法,以及数据库类型上的影响,暂时做个记录供自己参考。

转载于:https://www.cnblogs.com/mirayi/p/7773681.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值