ETL 策略:身份插入与使用身份逻辑

发布于 2024-12-12 18:21:08 字数 281 浏览 1 评论 0原文

我的一个 ETL 将大约 1800 万行从一台服务器移动到另一台服务器以进行进一步处理。我正在使用FAST LOAD选项。

对于 Identity Column,我有两个选择:

  • 使用 IDENTITY INSERT
  • 不要为 Identity Column 设置任何输入,从而强制 SQL Server 为插入的每一行生成新的 IDENTITY Identity

列的值不要紧。

我应该选择哪个选项才能获得最佳性能?

One of my ETL moves about 18 Million rows from one server to another for further processing. I am using the FAST LOAD option.

For the Identity Column, I have two options:

  • Use IDENTITY INSERT
  • Don't set any input for the Identity Column, thereby forcing SQL Server to generate a new IDENTITY for each row inserted

The value of the Identity column does not matter.

Which option should I choose for the best performance?

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

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

发布评论

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

评论(1

懒的傷心 2024-12-19 18:21:09

根据您告诉我们的情况,标识列的值并不重要,您没有理由让它与原始表的值一致,我会选择第二个选项。您可以使用 SQL Server 设置标识值的自然方法,消除值中的间隙,并且键将根据您插入它们时选择的顺序升序。

Based on what you've told us, the value of the identity column doesn't matter and you have no reason for it to agree with the original table's value, I would choose the second option. There you are using SQL Server's natural method of setting identity values, you eliminate gaps in the values and the key will be ascending based on the order you choose when you insert them.

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