일단 제가 생각하기로는 DECODE가 더 빠르다고 생각 합니다만 (ORACLE 내부 함수여서 ORACLE에서 최적화 시켰을 거란 막연한 추측 + CASE보다는 단순한 비교 연산)
주위 분들은 CASE가 더 빠를거라고 합니다. (표준 함수)
by 부쉬맨
[2014.01.28 16:59:07]
가독성의차이... 속도는 별의미가있나?
by 우리집아찌
[2014.01.28 17:30:27]
동감.. 속도 차이도 극히 미미할듯..
by 마농
[2014.01.28 18:18:48]
CASE 가 빠르다고 하더군요? 주워들은 얘기로 검증은 필요. 그러나 검증하고픈 의지가 없음. 단순 구문이라면 성능차를 인간의 감각으로 구별해내기는 어려울 듯. 하지만 복잡한 구문의 경우엔 달라질 수 있겠죠. 복잡한 여건을 Decode 로 작성하는 경우 한방에 안될 수 도 있죠. DECODE(aaa, 'a', DECODE(bbb, 'b', 1, 'c', 1, 0), 0) 그러나 Case 라면 한방에 가능합니다. CASE WHEN aaa = 'a' AND bbb IN ('b','c') THEN 1 ELSE 0 END
by 용근님
[2014.01.28 18:25:45]
머 조금 차이점이랄까
decode ( col, :a, '1', '2' )
case when col = :a then '1' else '2' end
:a가 null이 들어올경우 결과 차이는 있을수 있겠네요..
by 웬쑤
[2014.01.29 08:52:54]
답변을 주신 분 모두 감사합니다 ^^
by 아발란체
[2014.01.29 10:12:58]
전문 서적에서도 CASE가 빠르다고 되어 있습니다. 인용 하고 싶은데 내용이 이해 할 수 있는 정도로 깊지가 않네용.
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.