[DB] SQL 조건절에 함수를 사용할때 성능향상 팁
- Project/iRT
- 2021. 3. 17.
PL/SQL 스크립트를 짜고 테스트를 해볼때 퍼포먼스가 낮다고 생각이 들면 SELECT문을 먼저 봐바야 한다. 생각없이 코딩하다가 놓치기 쉽고 고치기 쉬운 실수는 WHERE절에서 함수를 사용할때 조회한 테이블의 데이터를 함수로 변환하여 비교하는 실수이다.
아래 쿼리문 빨간박스에서 tDATE값은 상수이고 DAY_CODE2는 테이블의 컬럼인데 이 컬럼에 함수를 적용하면 라인별로 함수가 사용되고 비교가 되기 때문에 건수가 많을수록 퍼포먼스는 상당히 저하된다. 만약에 10만개의 레코드가 있다면 10만번의 함수가 돌아간다는 뜻이다. 그래서 상수쪽에 함수를 적용하여 비교하여야 한다.
아래 쿼리문 처럼 테이블 컬럼이 아니라 상수쪽에 함수를 적용하여 딱 한번만 함수가 실행되게 해야 한다. 레코드가 많을수록 꼭 신경을 써야 하는 부분이다.
'Project > iRT' 카테고리의 다른 글
[Oracle] ORA-04031 에러 해결 방법 (0) | 2021.06.09 |
---|---|
[AWS] Windows tracert 명령어 안될때 확인방법 (0) | 2021.04.27 |
[Oralce] UNION ALL을 사용하여 데이터 비교하는 방법 (0) | 2021.02.24 |
[AWS] 공인 IP와 CIDR IP찾고 인바운드/아웃바운드 개념과 방화벽 오픈 하는법 (0) | 2021.02.22 |
톰캣(Tomcat), 자바 서비스(Java Service) 힙(heap) 메모리 사이즈 늘리기 법 (0) | 2021.01.28 |