gpt4 book ai didi

SQL Server 2012 在简单的更改上需要很长时间才能添加 NULL 列

转载 作者:行者123 更新时间:2023-12-01 17:24:47 25 4
gpt4 key购买 nike

我在 SQL Server 2012 中更改表时遇到问题,添加允许的 04 列需要很长时间 NULL到具有 340 列和大约 1.66 亿行和 01 个非聚集索引的大表

此问题仅在恢复后特定表发生。
我正在等待 10 个小时的执行,但它还没有完成,所以我必须取消它以进行更多调查。很奇怪,因为脚本真的很简单,如下所示,我们之前已经成功完成了:

alter table sample_database.sample_schema.sample_table
add column_001 int null
,column_002 numeric(18,4) null
,column_003 nvarchar(500) null
,column_004 int null;

我的问题是:
  • 为什么会发生奇怪的事情?
  • 怎么解决这个问题,因为它与我们的部署包有关?我们已经完成了使用新列创建新表并加载数据的解决方法。但这对我们不起作用。
  • 以后如何预防这个问题?

  • 非常感谢大家,

    最佳答案

    如果是 2012 年(根据标签),可能会发生这种情况:

    http://rusanu.com/2012/02/16/adding-a-nullable-column-can-update-the-entire-table/

    If adding a nullable column in SQL Server 2012 has the potential of increasing the row size over the 8060 size then the ALTER performs an offline size-of-data update to every row of the table to ensure it fits in the page. This behavior is new in SQL Server 2012.

    关于SQL Server 2012 在简单的更改上需要很长时间才能添加 NULL 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39158022/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com