有人可以解释一下BULK INSERT在内部如何工作,为什么它比正常的INSERT操作快得多?
问候,Shishir。
BULK INSERT与SQL Server的数据库引擎一起在进程内运行,因此避免了通过客户端API的网络层传递数据-这使其比BCP和DTS / SSIS更快。
另外,使用BULK INSERT,您可以指定数据的ORDER BY,如果它与表的PK相同,则锁定发生在PAGE级别。对事务日志的写入也发生在页面级别而不是行级别。
在常规INSERT的情况下,锁定和事务日志写入处于行级别。这使得BULK INSERT比INSERT语句快。