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

请教高手,数据导入的问题!!!
我的数据库有一张表,里面已经有几千万条记录,以后可能会更多。现在我要往这张表中导入数据。数据是从文本文件导进去的。要导入的文本文件有好几十个,每个文本文件也就是在几百万条记录左右。可是我现在导入就已经很慢了,每导一个文本都要花几个小时甚至更久。请问有什么好的方法导入数据吗?我现在用的是数据库自带的导入导出向导。有别的更好的方法吗?谢谢!!!

------解决方案--------------------
用BCP和Bulk Insert本身就很快,如果你用2005以后的SQLServer,建议先做分区。这样在插入的时候是可以并行插入,提高速度,然后插入时先禁用索引及触发器。同时把数据库恢复模式短暂转换成大容量日志。因为你这种操作一般不会在上班时间操作,所以上面那些操作都是可行的。
------解决方案--------------------
楼主可以用SSIS工具导入,导入时选择文件,选Bulk Insert。
这样会提高一点效率,但是从楼主的数据量来看,
还是先将文件用Bulk Insert导入到若干个同结构的数据表里;
最后合并成一张表,不过这个表也太大了,楼主有必要研究下 分区表