我有一个包含数十亿行的庞大SQL表。例如,如果我必须仅记录特定日期的DELETE
条记录。什么是最好的方法。
Delete * from dbo.table where date in ('date1','date2','date3')
请建议
答案 0 :(得分:3)
WHILE (1 = 1)
BEGIN
DELETE TOP (10000)
FROM Table_Name
WHERE DATE_COLUMN = '20140101' --<-- ANSI DATE format YYYYMMDD
OR
DATE_COLUMN = '20140102'
OR
DATE_COLUMN = '20140103'
IF (@@ROWCOUNT < 1)
BEGIN
BREAK;
END
END