最近的一个项目的数据库分析,实现海量数据的问题,是200万次到SQLServer数据,如果你使用INSERT语句写普通的话,恐怕没有一个小时来完成这项任务,首先考虑BCP使用,但这是一个基于命令行的用户友好性太差,实际是不可能的使用;最后决定使用BULK INSERT语句,批量导入插入也可以实现大量的数据,可以通过编程实现,界面很友好,它的速度是非常高的:在不到20秒100万的进口数据,我害怕首屈一指的速度。
但是它也有一些缺点:
1。需要对数据进行完全接受的表。
2。会产生大量的日志
三.从它获取数据的文件具有格式化的限制。
但是这些缺点可以克服它的速度,如果你愿意牺牲一点速度,你就可以更精确地控制,甚至控制每一行的插入。
为了占用大量的空间和日志,我们可以恢复大容量日志模式,在导入日志之前对数据库进行动态更改,以免日志记录,然后在原始导入结束后恢复数据库日志记录。
可以用这种方式写特定的语句:
复制代码代码如下所示:
更改数据库的出租车
设置恢复bulk_logged
大容量插入出租车..详细from'e:出来。txt
(与
datafiletype = 'char,
fieldterminator =,
rowterminator =',
TABLOCK
)
更改数据库的出租车
设置恢复全

本声明将从E出口数据文件: out.txt数据库的出租车的明细表。