본문 바로가기

반응형

Database

[Oracle DB] 최적의 결합 방법 선택 결합의 종류와 장점 1. Nested Loops 결합 : 인덱스를 사용해 결합할 레코드를 검색 장점 : 소수의 결과를 리턴하는 온라인 화면 처리 등에 적합 : 외부 테이블에서 레코드를 패치하고 결합 조건에 일치하는 레코드를 내부테이블에서 검색 while{ 레코드를 1개 페치 < 외부테이블 while{ 외부 테이블의 결합 조건에 일치하는 레코드를 페치 < 내부테이블 }} 2. Hash 결합 : 결합 키로 해시 테이블을 생성하고, 해당 해시 테이블을 기반으로 결합할 레코드를 검색 장점 : 처음에 해시 테이블을 생성해야 하므로 테이블 풀 스캔이 발생하지만, 이후에는 고속으로 대량의 레코드를 다룰 수 있으므로 배치 처리 또는 장부 출력에 적합 : 외부 테이블을 읽어 들이고 결합 키를 기준으로 해시 테이블을 만들.. 더보기
[Oracle DB] 실행 계획 이해 테이블 2가지 접근 방법 1) 전체 테이블 스캔 2) 인덱스 스캔 1. 테이블 크기와 실행계획에 따른 처리시간- 테이블의 크기가 큰 경우 인덱스를 이용하여 찾는 것이 더 빠름- 테이블의 크기가 작은 경우 인덱스를 이용하면 접근블록수가 많으므로 처리시간이 길어진다. 2. 추출할 데이터양과 실행 계획에 따른 처리시간 비교 - 추출할 데이터양이 많은 경우 모든 데이터가 필요할 경우 > 표 전체 스캔이 빠르다. 인덱스를 사용하면 레코드 수만큼 오버헤드가 발생하므로 처리 시간이 길어진다. - 추출할 데이터양이 적은경우 일부 데이터에만 접근하는경우 인덱스 사용이 처리시간이 짧다. 3. 실행 계획의 구성요소 1) 접근 경로 2) 접근 방법 3) 결합 순서 더보기

반응형