Sybaseビッグデータ量レコードを効率的に削除
678 ワード
create procedure sp_delete_records
@ld_day numeric(10) = -30
as
declare
@max_time datetime
set rowcount 1000
select @max_time = dateadd(dd,@ld_day,convert(datetime,convert(varchar,getdate(),111)))
select 1
while(@@rowcount>0)
begin
dump tran YOUR_DATABASE with truncate_only
delete from YOUR_TABLE where lasttime < @max_time
end
set rowcount 0
return
以上がストレージ・プロシージャ
原理:ループを使用して、最大1000個のレコードを削除し、すべてのレコードが削除されるまでlogをクリアします.