대량 데이터 분할 삭제
1361 단어 삭제
-- specify the number of rows you want
-- to delete per 'gulp':
DECLARE @count int
SET @count = 2000
-- keep track of the number of rows
-- impacted by each gulp... once it
-- drops below the intended number of rows
-- then you're done...
DECLARE @rowcount int
SET @rowcount = @count
-- keep date same through entire operation
DECLARE @cutoff datetime
SET @cutoff = GETDATE() - 60
WHILE @count = @rowcount BEGIN
-- archiving logic goes here...
-- (or it can take place BEFORE you
-- start with this 'nibbling operation')
-- remember, nibbling deletes aren't the
-- only thing you can do, you can also do
-- UPDATEs, INSERTs, MERGEs, etc.
DELETE FROM LorryLocations
WHERE locationId IN (
SELECT TOP (@count) locationId
FROM LorryLocations WITH(NOLOCK)
WHERE
[timestamp] < @cutoff
)
-- update the number of rows modified
-- if it's less than @count, then this was
-- our last pass... and the WHILE loop
-- will break
SET @rowcount = @@ROWCOUNT
-- a few milliseconds is typically all you'll
-- need for most operations, but toggle this
-- value as needed
WAITFOR DELAY '000:00:00.400'
END
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【AWS】 S3 Glacier 아카이브 삭제에서 볼트 삭제 (Win)부정적인 유산을 정리하기 위해 어쩔 수 없이 AWS를 명령행에서 조작한 기록입니다. 설치 프로그램을 다운로드하고 설치하기만 하면 됩니다. 내 경우에는 이미 여러 사용자가 있었으므로 전체 액세스 권한이 부여 된 사용자...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.