[英]Better performance in SQL Server DELETE
我正在嘗試通過數據庫中的ID從各種表中刪除特定行,並且我有太多表要刪除,例如:
DELETE FROM [Customers]
WHERE [id] = @Id
DELETE FROM [Agents]
WHERE [id] = @Id
DELETE FROM [Policy]
WHERE [id] = @Id
DELETE FROM [Issues]
WHERE [id] = @id
DELETE FROM [Refunds]
WHERE [id] = @Id
EXEC SP_DeleteCustomerRelations @Id
EXEC SP_DeleteAgentComplaints @Id
DELETE FROM [dbo].[Complaints]
WHERE id = @Id
我想知道是否仍然可以提高此SQL查詢的性能?
還是反正不重復刪除? 從表格中刪除所有這些行最多需要10秒鍾。
這些表是否與父/子關系是ID是一個表的PK,而在另一個表中用作FK。 如果是Scenerio,則可以在此處使用級聯,這意味着當從父表中刪除ID時,它將自動從子表中刪除。 有關如何使用級聯刪除的信息,請參見此鏈接。
希望這會有所幫助,如果沒有幫助,請告訴我。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.