数据库表结构:

逐条插入sql语句:

    <insert id="insert" parameterType="com.Structure">INSERT INTOSTRUCTURE(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 INTOSTRUCTURE(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)
10 50 68
100 197 257
1600 1671 33384

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

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

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

基于mybatis向oracle中插入数据的性能对比相关推荐

  1. MyBatis在Oracle中插入数据并返回主键的问题解决

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 前言:我早期用过这个方法,但是返回的依旧是影响行数,不是主键. 只是这种写法可以达到我要的效果: 用 ...

  2. 使用mybatis向oracle数据库插入数据异常

    遇到了使用mybatis向oracle数据库插入数据异常的问题, 具体的报错如下:org.springframework.jdbc.UncategorizedSQLException: ### Err ...

  3. oracle怎么把数据跑进视图里,在Oracle中向视图中插入数据的方法

    在Oracle中向视图中插入数据的方法 插入视图的条件: 1.如果视图是基于一个基础表产生的,那么这就称为非连接视图,所有的非连接视图都是可以更新的,也就是说可以在该视图上进行,INSERT,UPDA ...

  4. oracle插入java时间,java向oracle中插入字符或时间型 时间数据

    /** * * @param date * @param bool true:插入时间类型,false:插入字符类型 * 向oracle中插入时间类型数据 * @return */ public st ...

  5. 在Linux中通过shell脚本向oracle数据库插入数据

    通过shell脚本向oracle数据库插入数据 思路 实现 shell脚本 数据文件 测试 思路 如何通过shell脚本更新数据库数据?要解决这个问题,首先,我们需要在脑中回忆一下我们通常是如何更新数 ...

  6. Oracle中压缩数据节省空间和提高速度

    使用表压缩来节省空间并提高查询性能 很多决策支持系统通常都涉及到存储于几个特大表中的大量数据.随着这些系统的发展,对磁盘空间的需求也在快速增长.在当今的环境下,存储着数百TB(太字节)的数据仓库已经变 ...

  7. Mybatis操作Oracle中的Clob和Blob字段

    文章目录 Mybatis操作Oracle中的Clob和Blob字段 [ 我测试用的Mybatis Plus ] A.数据准备 A-1. Oracle中创建测试的表结构:Byte_Array_Test, ...

  8. oracle insert汉字出错,Oracle数据库之Oracle批量插入数据SQL语句太长出错:无效的主机/绑定变量名...

    本文主要向大家介绍了Oracle数据库之Oracle批量插入数据SQL语句太长出错:无效的主机/绑定变量名,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助. Oracle数据库,用 ...

  9. oracle中的数据集合操作

    一.数据更新操作 DML语法中主要包括两个内容:查询与更新,更新主要包括:增加数据.修改数据.删除数据.其中这些操作是离不开查询的.         1.增加数据 语法:INSERT INTO 表名称 ...

  10. 向oracle中插入图片和读取图片

    向oracle中插入图片和读取图片 代码如下: package demo;import java.io.BufferedInputStream; import java.io.BufferedOutp ...

最新文章

  1. 联想确定造芯!全资半导体公司曝光:上海自贸区注册,数据中心VP任法人
  2. Arduino作为服务器显示温度,基于Arduino 带LCD显示的电子温度计
  3. 滚动条加载功能实现(懒加载)
  4. Android Studio 创建第一个Android工程项目
  5. 华为鸿蒙游戏引擎,打破技术封锁!鸿蒙OS后,国产顶级游戏引擎也已问世!
  6. Python 编码问题:‘ascii‘ codec can‘t encode characters in position 的解决方案(中文乱码终极解决方案)
  7. 解决80端口被占用的情况
  8. PostgreSQL MySQL 兼容性之 - Gis类型
  9. Mac下配置多个SSH-Key (gitLab)
  10. UML 2中结构图的介绍
  11. 看mysql手册中模式(SQL_MODE)学到的知识
  12. xshell通过隧道连接_如何通过SSH隧道实现远程连接
  13. 零基础步入数据分析岗,应该怎么开始?
  14. 【英语四六级-必背单词】高中英语单词 (D)-MP3试听与下载
  15. PHP两种调用接口方式
  16. 老师计算机组合照说说,生物老师座右铭 教师照片墙格言
  17. 大数据学习,Scala快速学习的方法
  18. ISO/SAE 21434 标准是什么? 《Road vehicles—Cybersecurity engineering(道路车辆-信息安全工程)》
  19. Codeforces Round #775 (Div. 2) E. Tyler and Strings
  20. 生活观察—角落的生命—致蚂蚁

热门文章

  1. mysql中DateTime、Date、Time、TimeStamp区别
  2. DockOne微信分享( 一零二):基于容器的日志管理实践
  3. 解决相片上传主键唯一性问题,java 上传相片到服务器的时候,相片保存主键用guid。...
  4. 图解:如何在LINUX中安装VM-Tools
  5. go产生平台相关的0xFFFF
  6. [转载] 民兵葛二蛋——第7集
  7. 挑netfilter的11个不足之处
  8. PrefTest性能测试解决方案 -- C/S结构应用系统的压力测试
  9. 思科CCNP培训日记全接触
  10. 论文阅读笔记——拥塞控制算法PCC Vivace