[SQL] CASE 대 디코드
SQLCASE 대 디코드
그 항상 가능가 CASE로 DECODE를 대체하고있는 하나의 성능을 위해 더 나은 경우 이전 질문을 참조하면, 궁금 해서요?
해결법
-
==============================
1.언제나 오라클과 ... AskTom ...
언제나 오라클과 ... AskTom ...
이 게시물에서 ...
성능의 관점에서 그들은 문서는 약간의 속도 차이를 언급하지만, 특정 문장을 벤치마킹하지 않고 말을하기 어렵다 다시 이상, 거의 같은 것 같다.
-
==============================
2.이 DECODE와 CASE 사이에 하나의 큰 차이점이며 NULL을 비교하는 방법을 함께 할 수있다. 당신이 NULL로 NULL을 비교하면 DECODE는 "true"를 반환합니다. CASE는하지 않습니다. 예를 들면 :
이 DECODE와 CASE 사이에 하나의 큰 차이점이며 NULL을 비교하는 방법을 함께 할 수있다. 당신이 NULL로 NULL을 비교하면 DECODE는 "true"를 반환합니다. CASE는하지 않습니다. 예를 들면 :
DECODE(NULL, NULL, 1, 0)
'1'을 반환합니다.
CASE NULL WHEN NULL THEN 1 ELSE 0 END
'0'을 반환합니다. 당신은 그것을로 작성해야 :
CASE WHEN NULL IS NULL THEN 1 ELSE 0 END
-
==============================
3.CASE는 성명과 DECODE 함수입니다 우리는 WHERE 절에 CASE를 사용할 수 있으며 WHERE 절에 DECODE를 사용할 수 없습니다. DECODE는 CASE 모든 관계 연산자를 지원 할 수있는 유일한 평등 연산자를 확인하실 수 있습니다 DECODE는 SQL에서 사용할 수있는 경우와 SQL 및 PL / SQL에서 사용할 수있는 경우에만 CASE 더 DECODE보다.
CASE는 성명과 DECODE 함수입니다 우리는 WHERE 절에 CASE를 사용할 수 있으며 WHERE 절에 DECODE를 사용할 수 없습니다. DECODE는 CASE 모든 관계 연산자를 지원 할 수있는 유일한 평등 연산자를 확인하실 수 있습니다 DECODE는 SQL에서 사용할 수있는 경우와 SQL 및 PL / SQL에서 사용할 수있는 경우에만 CASE 더 DECODE보다.
http://www.oraclegeneration.com/2014/01/sql-query-interview-questions.html : 당신은 더 찾을 수 있습니다
-
==============================
4.성능 관점에서, 오라클의 디코딩 및 CASE는 어떤 차이가되지 않습니다.
성능 관점에서, 오라클의 디코딩 및 CASE는 어떤 차이가되지 않습니다.
그러나 엑사에서, 디코드 빠른 CASE보다.
데이터가 존재하지만 케이스 DB 저장 레벨로부터 데이터를 수신 DB 인스턴스 레벨에서 수행되는 경우 디코딩 동작은 스토리지 서버 레벨에서 수행된다.
스토리지 및 DB 서버 사이의 데이터의 네트워크 전송 (인피니 밴드 연결) 이하 비록 당신이 디코드 한 Statment를 사용할 때, 그 전송은 피할 수있다
-
==============================
5.
select (DECODE(NULL, NULL, 1, 0)) from dual; select (CASE WHEN NULL IS NULL THEN 1 ELSE 0 END ) from dual;
모두 1을 반환
-
==============================
6.두 NULL 비교에 NULL을 0으로 돌려 1의 값과 CASE를 반환하는 대신 DECODE의 1로 값을 반환합니다.
두 NULL 비교에 NULL을 0으로 돌려 1의 값과 CASE를 반환하는 대신 DECODE의 1로 값을 반환합니다.
from https://stackoverflow.com/questions/3193692/case-vs-decode by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 그것은 하나의 UPDATE SQL 문으로 여러 업데이트를 수행 할 수 있습니까? (0) | 2020.04.25 |
---|---|
[SQL] 연속 날짜를 감지하는 것은 SQL을 사용하여 범위 (0) | 2020.04.25 |
[SQL] 그룹화 MySQL의 데이터에서 최신 날짜를 가져옵니다 (0) | 2020.04.25 |
[SQL] SQL 동적 열 이름을 생성하는? (0) | 2020.04.25 |
[SQL] MySQL은, 연결하여 두 개의 열 (0) | 2020.04.25 |