大数据量入库,每分钟1W条,算快的吗?
想问下多线程,大数据量入库,每分钟多少条算快的?
我现在1个线程读,10个线程,或者20个线程,30个线程入库,都是每分钟大概1W条,
请问算快的吗?
------解决方案--------------------先保存到内存里,然后再用事务一次性提交如500条,不要每条都单独提交一次。
事务对性能的影响还是很大的。
------解决方案--------------------不算多不算多
------解决方案--------------------除非你的电脑是多核CPU,否则话多线程插入数据并不会快一丝一毫,同理双核或者4核的话,你10个线程20个线程也都是一样的,同是工作的只有那么几个cpu
如果想要真正的得到提升的话就要根据数据库做不同的方案,比如说oracle,直接路径+nologging插入
------解决方案--------------------1分钟1W条数据,当时我就震惊了...你的电脑是战国时候的小霸王配置吗?
------解决方案--------------------先搞清楚性能瓶颈在哪,在考虑优化的方法。
------解决方案--------------------您这贴子应该发到数据库中去。
------解决方案--------------------
瓶颈在数据库啊,你客户端开再多的线程有毛用啊
------解决方案--------------------可以换成其他的方式试试,
把所有东西(或部分量的数据)写入文件里,在load data infile 到mysql里.
------解决方案--------------------#3楼说的很对
你的瓶颈应该在事务上,你应该设置事务手动提交,
然后在根据一部分的数据量来提交事务...比如1000每次 5000每次
我记得我以前是有1W条数据 1200条左右一提交是比较快的.
如果那个表需求是基本每分钟都是大数据量插入 那就应该换表的结构了
使用myisam来替换表结构 这个要看你们的需求了
------解决方案--------------------如果表中索引多了,那数据量大了,做插入操作也会影响效率吧。