[Oracle] SELECT-LIST에서 컬럼 가공


[Oracle] SELECT-LIST에서 컬럼 가공

SELECT-LIST에서 컬럼 가공 장비번호 + 변경일자 + 변경순번 위와 같이 인덱스를 구성하면 변경순번 최솟값을 구할 때도 옵티마이저는 정렬 연산을 수행하지 않는다. SELECT WIN(변경순번) FROM 상태변경이력 WHERE 장비번호 = 'C' AND 변경일자 = '20230712' 수직적 탐색을 통해 조건을 만족하는 가장 왼쪽 지점으로 내려가서 첫 번째 읽는 레코드가 바로 최솟값이기에 SELECT NVL(MAX(TO_NUMBER(변경순번)), 0) FROM 상태변경이력 WHERE 장비번호 = 'C' AND 변경일자 = '20230712' 하지만 위와 같이 변경순번을 숫자 값으로 바꾸게 되면 정렬 연산을 생략할 수 없다. SELECT NVL(TO_NUMBER(MAX(변경순번)), 0) FROM 상태변경이력 WHERE 장비번호 = 'C' AND 변경일자 = '20230712' 위와 같이 TO_NUMBER을 바깥으로 쓰게 되면 정렬 연산을 생략할 수 있다. 자동 형변환 고객 테이...


#오라클 #인덱스 #인덱스가공 #자동형변환

원문링크 : [Oracle] SELECT-LIST에서 컬럼 가공