mdsk.net
当前位置:首页 >> jAvA多线程同时对数据库插入 >>

jAvA多线程同时对数据库插入

一个是java生成uuid 随机id,另一个是sql里id自增

数据库有自己的连接锁机制,如果是针对同一台机器使用同一个接口进行插入的话多线程和单线程是一样的。除非你有好几台数据库服务器,这样再使用多线程来进行上面的工作的话效率才会明显提高。

//将数据库中的数据条数分段 public void division(){ //获取要导入的总的数据条数 String sql3="SELECT count(*) FROM [CMD].[dbo].[mycopy1]"; try { pss=cons.prepareStatement(sql3); rss=pss.executeQuery(); while(rss.next()){ System.ou...

优化建议: 1. 在你的代码里大点评测下 每个操作花的时间. 譬如 dom4j解析花了多久, 存储到数据库花了多久等等. 2. 评测哪些地方可以并行操作以提高CPU利用率; 3. 数据库操作部分也可以做适当优化, 譬如批量提交可以显著提高插入速度, 譬如去除索...

你这个首先得分开。 第一部分:你有很多线程在往数据池里面写入数据。那么,你的线程只管写数据,不用理会其他的数据。 第二部分:你的另外的线程(这里可以用spring的job定时器启动),这部分只管往数据库写入数据,至于写入的条件,你可以判断...

//将数据库中的数据条数分段 public void division(){ //获取要导入的总的数据条数 String sql3="SELECT count(*) FROM [CMD].[dbo].[mycopy1]"; try { pss=cons.prepareStatement(sql3); rss=pss.executeQuery(); while(rss.next()){ System.ou...

以mysql为数据库写的一个粗陋的demo,你参考一下,希望不会因为代码过多被百度吞了—— import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;i...

//将数据库中的数据条数分段 public void division(){ //获取要导入的总的数据条数 String sql3="SELECT count(*) FROM [CMD].[dbo].[mycopy1]"; try { pss=cons.prepareStatement(sql3); rss=pss.executeQuery(); while(rss.next()){ System.ou...

当然是可以的,在线程里面会有很多程序,可以调用任何程序啊,这样调用的程序都在一个线程里完成的。在这个过程中当然也可以调用database类来完成对数据库的操作。

只是记录访问量而已对吧? 如果只是记录这种日志性的数据,可以建立一个消息池,把刷新的记录写到消息池里面,然后写个类实时从消息池里面取数据插入到数据库就好了,这样就只需要一个连接就够了。

网站首页 | 网站地图
All rights reserved Powered by www.mdsk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com