안녕하십니까,
MSSQL을 사용하기 시작한 지 이제 막 1년 반 지난 초보가 문의드립니다.
<예시>
UPDATE table_1
SET B = A, A = '1'
B컬럼을 A컬럼 값으로 업데이트 하고, A컬럼에 '1'값으로 업데이트를 하려고 하는데
위 예제와 같이 한 개의 업데이트문으로 해도 문제가 없을까요?
(*업데이트되어야 할 건수는 하루 평균 수십건 ~ 수백건 정도 수준임)
테스트를 해 보기 전에는
UPDATE table_1
SET B = A
UPDATE table_1
SET A = '1'
이렇게 두 개의 업데이트문으로 나눠서 실행을 해야하는 것이 아닌가 생각했지만,
테스트를 해 보니 저 위의 한 개 업데이트문으로 가능하더라구요.
혹시나 해서
UPDATE table_1
SET A = '1', B = A -- 순서 바꿈
이렇게 SET 구문의 순서를 바꿔서 테스트해 보았는데도 정상적으로 잘 업데이트가 되네요?
어떻게 이게 가능한 것인가요? MSSQL 내부적으로 임시 저장소가 있어서 가능한 것인기 궁긍합니다.
그렇다면 굳이 두 개의 업데이트문으로 나눌 필요가 없다는 얘기인데,
혹시나 한 개의 업데이트문을 사용했을 경우 정말로 전혀 문제가 없는 건가요?
조금이라도 불안 요소가 있다면 업데이트문 두 개로 나눠야겠지요 ㅜ
검색을 해서 해당 내용을 찾기도 쉽지 않아서 이렇게 도움을 구하고자 이 곳에 문의드립니다.
필드 순서가 바뀌어도 전혀 문제 없습니다
나눠서 업데이트 하면 불필요한 비용 만 증가하겠네요