by 뉴비 [SQL Query] MSSQL 쿼리 [2023.05.22 15:34:53]
안녕하세요.
첨부한 파일(변경할 데이터.PNG)처럼 측정값과 수정값이 서로 다를 경우 해당 로우의 시간과 수정값의 셀의 데이터를 쿼리문에 넣어서 반복문으로 UPDATE 하고 있습니다.
UPDATE tableName SET c04 = '31', c06 = 0 Where Convert(varchar(20), c02, 120) = '2023-04-30 13:57:59' and c01 = 3315
UPDATE tableName SET c04 = '64.1', c06 = 0 Where Convert(varchar(20), c02, 120) = '2023-04-30 13:56:59' and c01 = 3315
이런식으로 반복문마다 c04에 들어가는 값과 where절의 시간과 c01이 달라집니다.
(조회 조건은 시간(c02)과 ID(c01)입니다, c04는 수정값으로 수정해주고 c06은 항상 0으로 들어갑니다.)
문제는 수정할 데이터의 Row수만큼 반복문을 돌려서 업데이트 하기 때문에 데이터가 1000개만 넘어가도 UPDATE 시간이 1분이상 걸립니다.
몇 만개 이상의 데이터를 UPDATE 해줘야 하는데 빠르게 UPDATE 할 방법이 있을까요??