BCP用于将数据插入SQL Server数据库,速度非常快。那么它是如何做到如此高效的呢?
在SQL Server中,与传统的插入语句相比,BCP输入的日志记录方式非常不同。 SQL如何处理事务取决于许多因素,其中一些是大多数开发人员甚至不考虑的,比如数据库使用的恢复模式。
bcp使用与BULK INSERT和SqlBulkCopy类相同的工具。
更多详细信息请参见http://msdn.microsoft.com/en-us/library/ms188365.aspx
重要的是,这些批量操作记录的数据比普通操作少,并且可以指示SQL Server忽略其对传入数据的传统检查和平衡。 所有这些因素都有助于提高速度。
它作弊了。
它有对内部的深入了解,能够更直接地将您的输入数据映射到这些内部。它可以跳过其他繁重的操作(如解析、优化、事务处理、日志记录、延迟索引、隔离)。它可以做出适用于每一行数据的假设,而普通的插入SQL语句则不能。
基本上,它能够跳过大量使数据库成为数据库的功能,然后在最后集中清理自己。
http://technet.microsoft.com/en-us/library/aa337544.aspx
批量复制函数参考: