10 億のレコードを含む既存の SQL サーバー テーブル (A) に datetime 列を埋め戻す必要があります。主キー(ID)でターゲットテーブル(A)を親テーブル(B)と内部結合し、日付を取得します。残念ながら、更新が非常に遅くなる原因となっている日付列にインデックスがありません。オンライン インデックスの作成が tlog 全体 (最大 150 GB) を使い果たし、オフライン インデックス ビルドが範囲外であるため、Date 列 (ID を含む) にインデックスを作成できません。
UPDATE A
SET A.DATE = ZZ.DATE
FROM A
INNER JOIN
(SELECT TOP 100000 A.ID,
B.DATE
FROM A WITH (NOLOCK)
INNER JOIN
B WITH (NOLOCK)
-- parent table
ON A.ID = B.ID
WHERE A.DATE IS NULL) AS ZZ
ON ZZ.ID = A.ID;
バックフィルをより迅速または効率的な方法で実行するための専門家の提案。
ありがとう