<구동원리>
Insert or Update :
- 대상 Row를 DB에 조회SELECT COUNT() FROM 테이블 WHERE KEY컬럼 = ?
- 조회 건수가 0이면 INSERT, 아니면 UPDATE 실시DB call 횟수 : ROW건수 * 2
Update or Insert :
- 대상 건을 UPDATE 수행
- 결과 건수가 0이면, INSERT 실시DB Call 횟수 : UPDATE 건수 + (INSERT 건수 2)
(SELECT 건수 + INSERT/UPDATE 건수)
<차이점>
- Insert or Update는 모든 Row를 INSERT/UPDATE 대상인지 확인하기 위해 SELECT로 조회하기 때문에 더 많은 DB Call 이 발생 함(모니터링 중인 DBA가 있다면, 호출 가능성 68.2893%..)
<결론>
- 두 옵션에 대해 결과는 동일함
- INSERT 건수가 UPDATE 건수보다 더 많은 경우 : INSERT or UPDATE 추천
- UPDATE 건수가 INSERT 건수보다 더 많은 경우 : UPDATE or INSERT 추천

댓글 없음:
댓글 쓰기