MySQL INSERT INTO ON DUPLICATE KEY UPDATE로 인한 deadlock 이슈
MySQL INSERT INTO ON DUPLICATE KEY UPDATE 로 인한 LOCK 이슈 MySQL의 편리한 기능 중 INSERT INTO ~ ON DUPLICATE KEY UPDATE 구문이 있습니다. unique key, primary key 로 unique 제약조건이 걸려 있는 상황에서 중복된 데이터가 들어오면 DUPLICATE KEY UPDATE 구문으로 update 를 수행하는 구문인데요. ORACLE 이나 기타 DB에서는 REPLCAE 에 해당하는 구문입니다. 참 편리한 기능이지만 DML이 많이 발생하는 상황에서 동일한 ROW 에 UPDATE 를 시도하는 세션이 많이 쌓이는 경우 LOCK 과 함께 CPU가 급증하는 현상을 만날 수 있는 주의해야할 쿼리이기도 합니다. 장애 상황 문제 쿼..
2023.09.19