(if~else if) vs (switch case)
어느것이 더 좋을까요?
처리성능, 가독성, 확장성 측면에서..
(1) java
if~ else와 switch case
(2) sql
decode(오라클 전용함수)와 case when(표준SQL)
(3) mybatis
<if test>와 <choose><when test>
java에서...
switch case구문은
일반적으로 3가지 이상의 조건 비교시
대체적으로 if else 구문보다 처리 성능이 좋다고 알려져 있습니다.
sql에서..
오라클 전용함수인 decode는
다른 DBMS sql에서 사용할 수 없는 경우가 대부분입니다.
따라서 DB전환등의 작업시에는
표준 SQL인 switch case로 변환하여야합니다.
또 decode는 3가지 이상 조건 비교시에는
sql문장이 복잡해지고 가독성이 떨어지는건 현실입니다.
mybatis에서..
<if test>와 <choose><when test> 구문은 java에서 if else와 switch case 와 동일한 처리 알고리즘을 갖습니다.
개인적으로는..
switch case를 사랑합니다.
코딩의 결과물이 "예쁘기" 때문입니다.
복잡한 조건 비교시에 처리 성능도 좋다고 하고,
가독성이 좋아서 조건의 추가, 삭제, 수정할 때도 빠르고 정확하며,
주석(설명)을 달아놓을때도 알정한 위치에 주석문장을 쓸 수 있어서 좋은건
그냥 덤입니다.^^