반응형
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
반응형
'IT > DB' 카테고리의 다른 글
MSSQL 쿼리 결과 집합 WITH절 (0) | 2024.11.26 |
---|---|
MSSQL 소계,총계,합계 구하기 (0) | 2024.11.25 |
MSSQL 이번주 일요일 부터 토요일까지 날짜 구하기 (0) | 2024.11.17 |
MSSQL CURSOR 사용 / UPDATE문 반복 / INSERT문 반복 (0) | 2024.11.13 |
MSSQL LOCK 확인 후 죽이기(KILL) (0) | 2024.11.11 |