当SQL Server bcps进入带有索引的空表时,它在内部执行什么操作?

时间:2010-09-29 16:33:56

标签: sql-server indexing bcp

如果我有一个带索引的空表并执行bcp,SQL Server(内部)是否删除/禁用索引,加载数据然后重新应用/启用/构建索引?

2 个答案:

答案 0 :(得分:8)

不,在整个操作过程中都会保留索引。实际上,Microsoft表示可以使用-h ORDER提示根据聚簇索引对数据进行排序,从而提高bcp性能。有关详细信息,请参阅bcp Utility documentation。但是,正如here所述,为了尽可能快地导入,您应该采取以下步骤:

  

·“select into / bulkcopy”   数据库选项必须设置为“true”。

     

·目标表不应该   有任何索引。 [强调补充]

     

·目标表不得为   发布以供复制。

     

·使用TABLOCK锁定   目标表。

答案 1 :(得分:3)

不,它不会,但它会尽力使它尽快。您也可以通过遵循一些基本准则(参见http://msdn.microsoft.com/en-us/library/ms177445.aspx)来帮助您。