9
A
回答
6
BULK INSERT与SQL Server的数据库引擎在进程中运行,因此避免了通过客户端API的网络层传递数据 - 这使得它比BCP和DTS/SSIS更快。
此外,使用BULK INSERT,您可以指定数据的ORDER BY,如果这与表的PK相同,则锁定发生在PAGE级别。写入事务日志发生在页面级别而不是行级别。
在常规INSERT的情况下,锁定和事务日志写入处于行级别。这使得BULK INSERT比INSERT语句更快。
1
至少它可以避免为要插入的每条记录创建和提交事务的开销。还有其他的节省:例如,在整个网络中传送更大的数据块,而不是一次一个记录将有所帮助。
然后,也许更有趣的是,DB实现者可以(我不知道是否有任何特定的供应商实际做到这一点)开始变得聪明 - 他们可以查看要插入的记录集,而不是重新组织数据页容纳单个记录可以对页面进行批量重组以允许新的插入,同样我们可以想象,如果我们知道我们插入一组记录,则可以更有效地完成混洗索引。
0
它在内部转换为OLEDB记录集,然后加载表。
我还没有给它太多想法,但我认为这是在SQL Server框而不是客户端上运行时更快。另外,您可以管理您无法使用正常INSERT的约束条件
相关问题
- 1. TSQL - Bulk Insert
- 2. 与BULK INSERT
- 3. InnoDB Table Bulk Insert
- 4. SQL Bulk Insert UTF-8
- 5. 替代SQL BULK INSERT
- 6. Bulk Insert in Entity Framework v6.1
- 7. 带条件的SQL BULK INSERT
- 8. BULK INSERT TMP TABLE sql server
- 9. SSIS Bulk Insert where fields contains commas?
- 10. MySQL中的BULK INSERT问题
- 11. 的SQL Server BULK INSERT语法
- 12. BULK INSERT到SQL Server中
- 13. 使用XML的BULK INSERT
- 14. Bulk Insert不插入任何行
- 15. 如何工作UNIQUE + INSERT IGNORE?
- 16. MSSQL - 如何在BULK INSERT中设置默认值?
- 17. 如何在BULK INSERT期间修改.csv中的数据?
- 18. createNewFile如何在内部工作?
- 19. JS Promises如何在内部工作?
- 20. PHP PDO如何在内部工作?
- 21. java ConcurrrentHashMap如何在内部工作?
- 22. Groovy封闭如何在内部工作?
- 23. plt.gca如何在内部工作
- 24. ASP.NET路由如何在内部工作?
- 25. QProcess如何在Linux内部工作?
- 26. ant任务如何在内部工作?
- 27. HibernateTemplate如何在内部工作
- 28. cairngorm框架如何在内部工作
- 29. “adb reboot bootloader”如何在内部工作?
- 30. asp.net捆绑如何在内部工作