首页 新闻 会员 周边 捐助

怎样快速向sqlserver插入上亿条数据?

0
悬赏园豆:10 [已关闭问题] 解决于 2013-10-10 16:54

如何快速的向SQLServer数据库中同时插入上亿条数据,要考虑到硬盘容量是否足够,若不够则向另一盘中继续添加。

乄琂的主页 乄琂 | 初学一级 | 园豆:193
提问于:2013-10-09 21:44
< >
分享
其他回答(3)
0

这个,有点夸张。使用bulkCopy,每秒3000条的话,都要10个小时才上亿。

幻天芒 | 园豆:37205 (高人七级) | 2013-10-09 21:59
支持(0) 反对(0) ````` | 园豆:14268 (专家六级) | 2013-10-09 22:13

@imfunny: 额,我用这个做导入的时候,大概就这速度。哈哈。没多线程,单行字段比较多,60来个。

支持(0) 反对(0) 幻天芒 | 园豆:37205 (高人七级) | 2013-10-10 09:44

@幻天芒: 60个字段也有点恐怖,不过字段多了的确速度会降低不少。

支持(0) 反对(0) ````` | 园豆:14268 (专家六级) | 2013-10-10 16:59
0

太看得起SQLServer了

八戒的师傅 | 园豆:1472 (小虾三级) | 2013-10-09 22:02

也没那么差的了

支持(0) 反对(0) ````` | 园豆:14268 (专家六级) | 2013-10-09 22:12

@imfunny: 项目中没用过,所以一直没怎么看好,失敬失敬

支持(0) 反对(0) 八戒的师傅 | 园豆:1472 (小虾三级) | 2013-10-09 22:17
0

一亿条使用bulkCopy,应该不是问题。

每秒3000条的话,真的太慢了。我在普通的台式机上测试每秒可达10万条数据。

Albert Fei | 园豆:2102 (老鸟四级) | 2013-10-10 09:47
0

我测试过单表2.1亿插入,这个是在ssms中提前创建一份样本数据20w,然后根据这份样本数据生成最终数据量2.1亿,因为插入过程中在数据库恢复模式为simple的情况下,在2个核心数的虚拟机中sql server 2016中完成生成数据的全部过程,实际也没有超过40分钟,这样预估平均每秒插入8.75w。因为在虚拟机中做的测试,物理中没有创造过这么大的数据库,跟多的单表1000w级别的,也是很快的。

剑走江湖 | 园豆:202 (菜鸟二级) | 2018-02-27 17:27
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册