개발/오라클 SQL
마이바티스 null 체크
제로칼로리
2022. 9. 28. 23:34
-- #{var} 라고 가정
<if test="var != null && var != '' ">
</if>
논리연산자 동작 방식을 알고 있으면 소소하게 도움되는게 있다.
예를 들어 위 null 체크에서 and 연산을 하고 있다.
and 연산은 진리표를 보면 둘 다 참이여야 참이된다.
즉, 하나라도 거짓이면 참이 될 수 없다.
따라서 앞에서 거짓이 나오면, 뒤에 연산은 이루어지지 않는다 (성능)
만약 var != '' 앞에 왔고, null이라면 익셉션이 발생한다.
역으로 or연산자는 하나라도 true이면 전부 true이므로,
성능상에 이점을 가져가기 위해서는 true일 확률이 높은 것을 앞에 배치하는 것이 좋다.