1. 차집합 구하기-NOT IN 사용주의
결과데이터 정합성 문제 OR 실행 계획 최적화 이슈
- NULL qksghksehlwl dksgehfhr cjfl
- NOT EXISTS 또는 다른 차집합 구현 방법 고려
- NOT IN 필요 시 주의해서 사용
ex) WHERE ID NOT IN (SELECT ID FROM DATA WHERE ID IS NOT NULL)
2. CTE-재귀 호출(순환관계 모델) 처리에 활용
예) 조직구조, 메뉴 경로, BOM, etc.
복잡합 조건식/유형
- 쿼리 튜닝 필요
(사진참조)
3. 쿼리 힌트 사용 주의
OPTION(<query_hint>)
옵티마이저 대신 쿼리 동작을 강제하는 방법 중의 하나
필요한 경우 DBA(or DPA/DA/전문가)검토 후 사용
○ 특히 공통적으로 주의가 필요한 힌트
- {REPEEATABLE READ | SERIALIZABLE}
- UPDLOCK
- FASE <n>
- OPTIMIZER FOR
- INDEX(...)
- MAXDOP
- FORCE ORDER
- { LOOP | MERGE | HASH } JOIN
'IBSHEET' 카테고리의 다른 글
쉽게 이해할 수 있는 OLTP와 OLAP성 쿼리의 차이 (0) | 2023.06.18 |
---|---|
성능 좋은 SQL 쿼리 작성법(Subquery) (0) | 2023.06.18 |
성능 좋은 SQL 쿼리 작성법(JOIN) (0) | 2023.06.17 |
[mysql] 조회, Index냐 Full Scan이냐 (0) | 2023.04.18 |
ANSI 표준 (0) | 2023.04.18 |
댓글