利用Hibernate,连接池使用的是BoneCP,做了一个MySql批量插入和批量更新的Demo,出现了下面两个问题。 1.批量插入。我采用的是原生态的JDBC,每次批量插入60条数据左右(数据量不固定),循环3000次。每次在循环到100次左右的时候,会出现“com.jolbox.bonecp.ConnectionPartition - BoneCP detected an unclosed connection and will now attempt to close it for you. You should be closing this connection in your application - enable connectionWatch for additional debugging assistance.”,紧接着程序就没有反映了。

2.批量更新。每次批量更新的数据量大约在3w条左右,居然要耗时16秒左右,有没有办法提高性能至2秒左右。代码如下: Java代码 收藏代码

String sql = "replace into savedata(id , saveId , saveKey , value)values(?,?,?,?)";

Session session = getSessionFactory().openSession();

Connection conn = session.connection();

Transaction tx=getSessionFactory().openSession().beginTransaction();

try {

PreparedStatement stmt=conn.prepareStatement(sql);

for (Savedata savedata : list) {

stmt.setString(1, savedata.getId());

stmt.setString(2, savedata.getSaveId());

stmt.setString(3, savedata.getSaveKey());

stmt.setString(4, savedata.getValue());

stmt.addBatch();

}

stmt.executeBatch();

tx.commit();

} catch (Exception e) {

}finally{

try {

conn.close();

} catch (SQLException e) {

log.warn("the db connection cant not close!" ,e);

}

if(session.isOpen())

session.close();

}

问题补充:连接池采用的是BoneCP , 感觉比cp30 ,proxool性能要好。配置如下:

value="jdbc:mysql://localhost:3306/ugms" />

mysql批量插入跟更新_Mysql批量插入和更新的性能-问答-阿里云开发者社区-阿里云...相关推荐

  1. mysql parameters_MySqlCommand Command.Parameters.Add已过时?mysql-问答-阿里云开发者社区-阿里云...

    我正在Visual Studio 2010中制作一个C#Windows Form应用程序. 该应用程序正在连接到mysql数据库,我想在其中插入数据. 现在我有这部分代码了: MySqlConnect ...

  2. mysql 繁体_mysql 插入繁体字报错?报错-问答-阿里云开发者社区-阿里云

    mysql 插入繁体字报错?报错 爱吃鱼的程序员 2020-06-22 14:09:16 87 @jfinal程序插入繁体字mysql的时候报错,数据库设置了utf8,但是依然报错,数据库,表,字段, ...

  3. mysql 提高事物效率_怎么提高向mysql中插入数据的效率-问答-阿里云开发者社区-阿里云...

    String[] filelist = file.list(); for(String filename : filelist){ BufferedReader br = new BufferedRe ...

  4. ssm mysql 插入date 数据_SSM中插入数据没有报错,但是数据库没有值?报错-问答-阿里云开发者社区-阿里云...

    mybatis默认开启事务不会自动提交,只有调用了commit才会提交事务.你这种情况明显是事务成功执行了,而且自增ID也已生效,但事务本身没有提交,请调用mybatis的commit方法提交事务! ...

  5. mysql hang住_mysql 5.7不定期的hang住重启-问答-阿里云开发者社区-阿里云

    线上一台mysql 5.7.17版本实例,系统centos 6.4 ,96G内存,SSD磁盘,buffer pool 60G,buffer pool instance 8,24 CPU.实例访问情况如 ...

  6. mysql总是出现-_mysql 总是莫名其妙的关闭:报错 -问答-阿里云开发者社区-阿里云...

    CentOS MYSQL 5.6不知道为什么,MYSQL总是莫名其妙的被关闭,然后网页提示 Connect Error (1045)Access denied for user 'root'@'172 ...

  7. mysql cluster 宕机 恢复_mysql cluster 集群恢复不起来,还请大神赐教?报错-问答-阿里云开发者社区-阿里云...

    mysql cluster 集群原本使用的几乎全是内存表,后来随着数据的增长,把大的内存表迁移到磁盘表了,之后集群出现6050错误,整个集群挂掉:之后重新启动集群一直启动不起来... ----以下是集 ...

  8. cmake mysql 参数_MySQL cmake编译时这些参数是什么意思?-问答-阿里云开发者社区-阿里云...

    一般用到的参数# -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #安装路径 # -DMYSQL_DATADIR=/usr/local/mysql/data \ # ...

  9. mysql count join速度慢_MySql两张百万级表关联的count效率求解? 400 报错-问答-阿里云开发者社区-阿里云...

    select count(1) from B b inner join A a on a.id = b.personid where b.code like '32%' 这样试试呢######sele ...

最新文章

  1. 在看完《Programming in Lua》之后
  2. Master/Slave知识
  3. 网易云深度学习第二课notebook1
  4. export default (imported as router) was not found_U盘上的FOUND.000和FILE0000.CHK是什么
  5. 如何利用docker 构建golang线上部署环境
  6. Android 号码, 来电归属地 Jni 使用C++对二进制文件查询(一) 理论篇
  7. 环形二维数组求最大子矩阵
  8. 动易自定义标签HTML输出,动易标签【ArticleList】
  9. Linux加密框架中的算法和算法模式(二)
  10. igs时间和utc_UTC时间与北京时间的差多久?
  11. linux系统编译dfu
  12. 星淘惠:现在做跨境电商还有优势吗?跨境电商发展怎么样
  13. 分享UG塑胶模具设计的分模方法,一起学起来
  14. 抓取 google 搜索结果
  15. Unknown initial character set index '255' received from server. Initial client character 解决方法
  16. 使用hMailServer搭建免费邮件服务器(亲测可用)
  17. 【海神】各种工作特色比照和介绍
  18. 【云服务器 ECS 实战】一文掌握负载均衡服务原理及配置方法
  19. 2019开新篇,游山玩水大团建!
  20. 同样是模拟高清,谁才是真正的AHD?汽车OEM选型应慎重

热门文章

  1. TCP连接吞吐率和线路效率的总结
  2. 设计测试用例的7点原则
  3. [C/C++]_[0基础]_[static_cast,reinterpret_cast,dynimic_cast的使用场景和差别]
  4. BamlViewer修改
  5. 好程序员分享如何看待CSS中BEM的命名方式?
  6. Ajax 滚动异步加载数据
  7. Web前端的状态管理
  8. centos 6 apt.sw.be 错误 无法yum安装软件解决方案
  9. 如何区分数据科学家,数据工程师与数据分析师
  10. 8: springMVC ModelAndView 作用与功能解析