데이터베이스 개발자 질문과 답변 게시판
데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.
TABLE 1 : 컬럼 - A,B,C,D,E,F / 1억 5천만
TABLE 2 : 컬럼 - D,E / 7백만
안녕하세요 현재 저한텐 위와같은 테이블이 두개가 있는데요,
TABLE 1 같은 경우는 D가 중복된 row를 다량 갖고 있습니다.
그리고 D 컬럼의 각각의 값들에 대해 E는 고유한 값을 갖고 있습니다.
근데 제가 TABLE 1을 생성할 때, 잘못 입력해서 E값들이 다 잘못 들어갔습니다.
TABLE 2는 알맞은 D와 E값이 들어가 있는 상태이구요..
TABLE 1에 E값을 알맞은 값으로 수정하기 위해서
INNER JOIN을 사용할까.. 하는데 대략적인 시간을 파악할 방법이 있거나
혹은 더 좋은 방법이 있을까요 ?
Drop here!
1억건을 한꺼번에 업데이트 시킬때 락 문제가 발생할듯 합니다.
루프를 돌려 나눠서 업데이트를 하시면
declare @num int
set @num = 0
set rowcount 10000
while @num <= 15000
begin
set @num = @num + 1
select @num
--update a set a.E = b.E from TABLE1 a join TABLE2 b join a.D = b.D and a.E <> b.E ;
end
set rowcount 0