IT/DB

LEFT JOIN시 DB LOCK

하루콩콩 2024. 12. 30. 09:06
반응형

LEFT JOIN시 NULL값 매칭으로 ISNULL(value,0) 처리를 해줌

해당 DB LOCK의 원인
1.테이블 잠금 : 테이블이 업데이트 중이거나 변경 작업이 길어질때 LOCK이 발생할 수 있다.SELECT 쿼리도 데이터 무결성을 위해 잠금을 발생
2.인덱스가 부재 : NULL값으로 JOIN을 매칭하려 할때 적절한 인덱스가 없으면 테이블을 풀스캔 해서 잠금이 길어질 수 있다.

 

기존 : 

LEFT JOIN a_table a ON a.value = b.value

 

변경 : 

LEFT JOIN a_table a ON ISNULL(a.value,'0') = b.value

 

반응형