MS-SQL

대용량에서 사용하는 SQL

캡틴노랑이 2015. 7. 28. 23:56
반응형

-- 삭제하는 부분 

 
DECLARE @ROWS int
SET @ROWS=10000;  - 한번에 처리할 개수
 
DELETE TOP (@ROWS)  테이블명
WHERE삭제할 조건 ;
 
WHILE @@ROWCOUNT = 10000
BEGIN
        DELETE TOP (@ROWS) 테이블명
        삭제할조건 ;
END;
 
 
-- 업데이트  부분
 
DECLARE @ROWS int
SET @ROWS=1000;  - 한번에 처리할 개수
 
UPDATE TOP(@ROWS) 테이블명
 SET gb_type ='Y'  -- 수정할 부분
WHERE 조건 ;
 
WHILE @@ROWCOUNT = 1000
BEGIN
UPDATE TOP(@ROWS) 테이블명
 SET gb_type ='Y'
WHERE 조건 ;
 
END;
 
----------------------------------------------
 

DECLARE @ROWS int
SET @ROWS=1000;  - 한번에 처리할 개수
 
UPDATE TOP(@ROWS) 테이블명
 SET gb_type ='Y'  -- 수정할 부분
WHERE 조건 ;
 
WHILE @@ROWCOUNT = 1000
BEGIN
WAITFOR DELAY '00:00:01'   -- 대기시간을 주어서도 처리 가능 할 듯 합니다.
UPDATE TOP(@ROWS) 테이블명
 SET gb_type ='Y'
WHERE 조건 ;
 
END;
반응형