특정 보고서가 실행될 때 레코드 만 삭제되고 해당 기간에 상당히 커질 수있는 테이블이 내 DB에 있습니다. 보고서가 실행될 때 일괄 삭제를 구현하고 있습니다. 그냥가는 길에 대한 의견을 듣고 싶었습니다.데이터베이스에서 일괄 삭제 레코드
While Exists (select top (1) StoreNbr from #Test WHERE DATEDIFF(dd, LogDate, GETDATE()) >= 60)
Begin
delete top (5000) from #Test WHERE DATEDIFF(dd, LogDate, GETDATE()) >= 60
End
- 나는이 어떤 실질적인 혜택을 않습니다 루프 내에서 WAITFOR 지연을 사용해야합니까?
- 삭제를 수행하기 전에 테이블에서 색인을 비활성화하고 완료되면 다시 활성화해야합니까?
작업중인 SQL의 어떤 언어를 언급했는지 확인하십시오. 구문에서 MS SQL Server를 추측했지만 틀렸을 수 있습니다. – Charles