5. 전체 테이블 탐색
• 메인 리더가 대량 건 조회 시 전체 테이블 탐색이 유
리
• index가 있을 경우 hint로 전체 탐색을 유도
• 읽기 일관성 이슈
<출처:http://startingpitcher.tistory.com/429>
“Ora-01555 Snapshot too old”
대량을 데이터를 처리하는 배치작업에서
자주 발생하고, 이로 인해 성능 저하
6. Ora-01555 해결 방안
• 작업 재 배치
• 배치 성능 개선
• 메인 리더에 쿼리에 Order by 추가
• 임시 작업 테이블 활용
• 인덱스 탐색을 이용한 내포 조인
7. 테이블 탐색을 효과적으
로• 파티션
• 파티션 키를 사용하여 파티션별로 데이터 처리
• 해시 조인
• 대량 건수 조회시 hint를 통한 해시 조인 사용
• 병렬 처리
• 프로세스/스레드를 통해 건수를 나누어 처리
• 병렬 처리시에는 전체 탐색보다 인덱스 탐색이 유
리
8. 쿼리 통합
• 메인 리더와 건별 처리 조회 쿼리 통합
• 조인을 통해 한번에 메인 리더에서 조회
• 메인 리더와 Insert 통합
• ex) Insert ~ Select ~ From ~ Where
• Select / Insert / Update 통합
• 건별 처리 작업에서 Select/Insert/Update가 나누어
진 경우
• Merge를 이용해 Select/Insert/Update를 통합
9. APM 활용
• 성능 개선 대상 서비스와 그 원인이 되는 SQL 식별
에 용이
• 주요 제품
• 제니퍼(Jennifer)
• 스카우터