본문 바로가기

IT468

CH02. 조인 원리와 활용 - 05.Outer 조인 (1)Outer NL 조인 NL 조인은 그 특성상 Outer 조인할 때 방향이 한쪽으로 고정되며, Outer기호(+)가 붙지 않은 테이블이 항상 드라이빙 테이블로 선택됩니다. leading 힌트를 이용해 순서를 바꿔보려고 해도 소용 없습니다. select /*+ leading(e) use_nl(d) */ * from dept d, emp e where e.deptno(+)=d.deptno; select /*+ use_nl(d e) */ * from dept d, emp e where e.deptno(+)=d.deptno; 위아래 쿼리 같은 실행계획이 나옵니다. --------------------------------------------------------------------------- | Id .. 2020. 6. 2.
CH02. 조인 원리와 활용 - 04.조인 순서의중요성 조인 순서에 따라 쿼리 수행 성능이 달라질 수 있습니다. 각 조인에 대해서 살펴보겠습니다. NL조인 NL조인에서는 무엇보다 Random 액세스 발생량에 의해 성능이 좌우되는데, 필터조건이 없는 경우에는 드라이빙테이블(조인시 먼저 ACCESS되는 테이블)은 작은 쪽 집합을 드라이빙하는 것이 유리합니다. 필터 조건이 있는 경우에는 인덱스 구성에 따라 유,불리가 경정되며, 비효율이 없게끔 인덱스를 잘 구성해 주기만 하면 역시 작은 쪽 집합을 드라이빙하는 것이 유리합니다. NL조인에서는 Random액세스 발생량 외에도 Inner 쪽 인덱스 구성 및 조건절 연산자 형태에 따라 성능이 크게 좌우되는데, 인덱스 스캔 효율에 차이가 생기기 때문입니다. 소트머지 조인과 해시 조인 소트머지 조인과 해시조인에서도 순서가 중.. 2020. 6. 2.
CH02. 조인 원리와 활용 - 03.해시조인 (1)기본 매커니즘 7.3버전에서 처음 소개된 해시 조인은 소트 머지 조인과 NL조인이 효과적이지 못한 상황에 대한 대안으로 개발되었습니다. 해시 조인은 둘 중 작은 집합(Build input)을 읽어 Hash Area에 해시 테이블을 생성하고, 반대쪽 큰 집합(Probe input)을 읽어 해시 테이블을 담색하면서 조인하는 방식입니다. 해시조인은 해시테이블을 생성할 때 해시함수를 사용합니다. 즉, 해시 함수에서 리턴받은버킷 주소로 찾아가서 해시 체인에 엔트리를 연결합니다. 해시 테이블을 탐색할 때도 해시 함수를 사용합니다. 해시 함수에서 리턴받은 버킷 주소로 찾아가서 해시 체인을 스캔하면서 데이터를 찾습니다. 해시 조인은 NL조인처럼 조인과정에서 발생하는 Random 액세스 부하가 없고(양쪽 집합을 읽.. 2020. 5. 28.
Character Set 한글 테스트 목적 : UTF8과 K016MSWIN949에서 각각 한글데이터를 넣었을때 잘 들어가는지, 잘 보이는지에 대한 테스트입니다. 사용 환경: [oracle@ysbae ~]$ cat /etc/redhat-release Red Hat Enterprise Linux Server release 7.5 (Maipo) SYS@newysbae> select instance_name,version from v$instance; INSTANCE_NAME VERSION ---------------- ----------------- newysbae 11.2.0.1.0 1 row selected. 요약 : 서버의 캐릭터셋과 클라이언트의 캐릭터셋을 맞춰주는 것이 제일 중요합니다. 다를 시 데이터가 깨질 수 있습니다. 테스트 진행 서.. 2020. 4. 20.