카테고리 없음

[Database] Oracle | MERGE INTO (1) (DB 부하 이슈가 생기다)

mnmnm969 2025. 1. 28. 11:01

1. CASE
보안상 업무에 대한 내용을 자세하게 말할 수는 없겠지만 대략 말해보자면 자료를 매칭해야 하는 기능이었다.

예를 들면
- A1의 정보를 매칭하기 위해 B2와 C3, D4의 정보가 일치하는지 확인하거나
- A1의 정보를 매칭하기 위해 B2와 C3의 정보가 일치하는지 확인하거나
- A1와 B2의 정보를 매칭하기 위해 B2와 C3, D4의 정보가 일치하는지 확인하거나
- A1와 B2의 정보를 매칭하기 위해 B2와 D4의 정보가 일치하는지 확인하거나
이다.

이를 위해, 하나의 프로시저에 대여섯 개의 UPDATE와 서른여 개의 MERGE INTO를 사용하고 있었다.

워낙 방대한 양의 데이터를 다뤄야 하는 기능이다 보니, 데이터가 잘 나오는지 테스트를 하는 업무가 주어졌는데 매칭할 때마다 5~10분 정도 걸렸던 것 같다.
뭐가 잘못됐나 싶어 쿼리를 확인해 보니, 나를 맞이한 건 광활한 UPDATE와 MERGE INTO의 향연이었다.

결국에는 데이터가 많은 화면에서 DB 부하가 일어나버렸다.

( 다음 게시물에 이어서 ….. )