T-Sql
刪除少量行掛在 tsql 數據庫中
所以我只是想從我們的一個測試數據庫中刪除一些壞數據。我已經確定了要刪除的行,並編寫了一個簡單的查詢來處理這個問題。
但是,在執行時,查詢會在完成 4% 時掛起,並且會在那裡停留數小時。我們的數據庫託管在 Azure 上 - 對於這個測試數據庫,我們正在執行具有 10 個 DTU 的標準 SO。
我在這裡想念什麼?
可能是那個表的級聯外鍵
$$ Shift Offer $$有指向表$$ Availability $$, 減慢你的刪除操作 嘗試以下操作:
- 在列上創建非聚集索引
$$ Shift Offer $$$$ availability_id_fk $$ 並嘗試再次執行您的查詢;看看非聚集索引是否加快了速度 2)如果仍然執行太久,請嘗試完全禁用外鍵(執行sql命令)
alter table [Shift Offer] nocheck constraint [paste your constraint name here I guess its availability_id_fk]
執行刪除命令,如果成功並且執行速度很快,您將不得不手動刪除記錄
$$ Shift Offer $$表,如果它有任何行的
availability_id_fk
值已從中刪除$$ Availability $$表,然後啟用外鍵