日期:2014-05-18  浏览次数:20824 次

大数据量入库,每分钟1W条,算快的吗?
想问下多线程,大数据量入库,每分钟多少条算快的?

我现在1个线程读,10个线程,或者20个线程,30个线程入库,都是每分钟大概1W条,

请问算快的吗?

------解决方案--------------------
先保存到内存里,然后再用事务一次性提交如500条,不要每条都单独提交一次。
事务对性能的影响还是很大的。
------解决方案--------------------
不算多不算多
------解决方案--------------------
除非你的电脑是多核CPU,否则话多线程插入数据并不会快一丝一毫,同理双核或者4核的话,你10个线程20个线程也都是一样的,同是工作的只有那么几个cpu
如果想要真正的得到提升的话就要根据数据库做不同的方案,比如说oracle,直接路径+nologging插入
------解决方案--------------------
1分钟1W条数据,当时我就震惊了...你的电脑是战国时候的小霸王配置吗?
------解决方案--------------------
先搞清楚性能瓶颈在哪,在考虑优化的方法。
------解决方案--------------------
您这贴子应该发到数据库中去。
------解决方案--------------------
引用:
回复3楼,现在是每个县城一次批量插入1000条,自动提交。有10个插入线程是1分钟1W,20个线程还是1分钟1W。费解啊,不知瓶颈在哪里。c3p0的连接池也改过了,难道是mysql的并发限制???


瓶颈在数据库啊,你客户端开再多的线程有毛用啊
------解决方案--------------------
可以换成其他的方式试试,
把所有东西(或部分量的数据)写入文件里,在load data infile 到mysql里.


------解决方案--------------------
#3楼说的很对
你的瓶颈应该在事务上,你应该设置事务手动提交,
然后在根据一部分的数据量来提交事务...比如1000每次  5000每次

我记得我以前是有1W条数据  1200条左右一提交是比较快的.

如果那个表需求是基本每分钟都是大数据量插入  那就应该换表的结构了 
使用myisam来替换表结构  这个要看你们的需求了
------解决方案--------------------
如果表中索引多了,那数据量大了,做插入操作也会影响效率吧。