当 SQL Server bcps 到带有索引的空表时,它内部会做什么?

发布于 2024-09-25 14:13:36 字数 74 浏览 7 评论 0原文

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

If I have an empty table with an index and I do a bcp, does SQL Server (internally) drop/disable the index, load the data and then re-apply/enable/build the index?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

绝不服输 2024-10-02 14:13:36

不,索引在整个操作过程中都会得到维护。事实上,微软表示,您可以通过使用 -h ORDER 提示根据聚集索引对数据进行排序来提高 bcp 性能。有关详细信息,请参阅 bcp 实用程序文档。但是,正如此处所述,为了尽可能最快地导入,您应该采用以下步骤:

·“选择进入/批量复制”
数据库选项必须设置为“true”。

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

· 目标表不能是
发布用于复制。

· 使用 TABLOCK 锁定
目标表。

No, the indexes are maintained throughout the operation. In fact, Microsoft says you can improve bcp performance by using the -h ORDER hint to sort the data according to your clustered index. See the bcp Utility documentation for details. However, as stated here, for the fastest import possible you should take the following steps:

· The "select into/bulkcopy"
database option must be set to "true".

· The target table should not
have any indexes.
[emphasis added]

· The target table must not be
published for replication.

· Use the TABLOCK to lock the
target table.

滿滿的愛 2024-10-02 14:13:36

不,它不会,但它会尽最大努力使其尽可能快。此外,您也可以通过遵循一些基本准则来提供一些帮助(请参阅 http:// msdn.microsoft.com/en-us/library/ms177445.aspx)。

No it doesn't but it will do its best to make it as fast as possible. Also you can help a little bit too by following some basic guidelines (see http://msdn.microsoft.com/en-us/library/ms177445.aspx).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文