EXADATA 환경에서 악성 SQL 나타날 수 있는 조건
1. With절 , Inlive View의 중첩 구문 사용에 따른 부작용 발생
– 중복 I/O가 발생
– View 사용에 따른 Rewrite Overhead 및 View Merge등 성능에 매우 불리
– 필요 시, 중간 집계 또는 모집단 임시 TABLE 생성을 통해 실체화된 Segment(TABLE)에서 I/O 수행 유도
2. 인덱스가 존재하는 대용량 Table 조인시 힌트로 제어하지 않을 경우
– Full, Parallel등의 Hint 제어를 하지 않을 경우 Plan이 변경되어 처리 지연 발생
– 이로 인해 Hash Join 형태가 최선인 상태에서 Nested Loop Join으로 Plan이 변경될 확률이 높음
3. 원장 데이터 변경 적재시 변경 분이 15%를 초과할 경우(일반적인 경우 3억건 이내임)
– DML 양이 많아 질수록 GC,Buffer Busy Waits event등 동시성, 클러스터 관련 이벤트가 많아지며, 시스템이 점점 느려지게 됨
– Insert Append 방식으로 처리 권장
4. 무분별한 힌트 사용
– 정확한 통계가 전제되는 한 불필요한 힌트를 주지 않는 것이 관리에 유리
5. 변경 적재 시 Index를 사용한 정합성 Check
– PK 생성된 테이블에 Data를 입력할 경우 Single Block I/O, Buffer Busy, Index Maintenance, gc event 발생 등으로 처리가 지연
– 중복 발생시 정합성 체크 후 재 작업을 해야 함.