1. 程式人生 > >SQL Server百萬級大資料量刪除

SQL Server百萬級大資料量刪除

刪除一個表中的部分資料,資料量百萬級。

一般delete from 表
delete from ysh where date<’2016-06-21’ ;
此操作可能導致,刪除操作執行的時間長;日誌檔案急速增長;

針對此情況處理 delete top from

declare @onecount int
set @onecount=1000000
print getdate()
while 1=1
begin
     delete top(@onecount) from ysh where date<'2016-06-21' ;
     //此處不能寫任何語句 print也可能導致無法全部刪除
IF (@@rowcount<@onecount) BREAK; print getdate() end

說明 :@onecount 每次刪除的資料量,此處設定100w,可根據實際情況調整。

此操作刪除時間快,以及生成的日誌量少。