본문 바로가기
IT

A 테이블에는 있고, B 테이블에는 없는 데이터 찾기/확인/삭제 방법

by 결국 그렇고 그런이야기 2022. 4. 21.
반응형

생각보다 IT 운영을 하다보면
참 이해할 수 없는 현상들이 많이 발생한다.
그리고 그 중 가장 머리가 아픈 부분은
당연히 데이터 정합성의 문제가 아닐까?!
또 가장 중요한 부분이기도 하고.

오늘은 A테이블에는 있고, B테이블에는 없는 데이터를 확인/삭제해보려고 한다.
사실 쉽게 생각하면 not in을 생각하기 쉬운데...
이거 데이터 많으면 잘못하면 장애날 수 있다.
이때에는 사실 left outer join 사용해야한다.
not in으로 조회 시간 50분이상 걸릴 수 있는 걸
Left outer join 사용하면, 단 5초안에 해결된다.

예를 들면, 아래와 같다.

select a.*
from Table a LEFT OUTER JOIN Table b on (a.column = b.column)
where b.column is null


사실 별거 아닌데... 모르겠다.
필자는 left outer join은 많이 쓰는 편은 아니라서
Left join 아직은 낯설다.
하지만 이때는 정말 유용하다.

그리고 무엇보다도
이런 데이터가 생기는 이유, 근본원인을 파악하는 것이 가장 우선이겠지. 근데 그건 정말로 찾기 어려울 거다.
단언하건데ㅋ

하지만 찾는다면
찾는 과정속에서 나의 실력은 한단계 더 올라갈 것.
No pain No Gain인걸까? ㅎㅎㅎ

별건 없고.
아직도 너무도 모르는 것 많은 사소한 개발자
한줄 남겨봅니다.

A테이블에는 있고, B테이블에는 없는 데이터 찾기/확인/삭제 방법

이야기 끝-

반응형

댓글