- IOT(index organizes table)
     >> Create table .... organization index;
  . 크기가 작고 NL조인반복 (코드)
  . 폭이 좁고 row수많은 m:m association 테이블
  . 넓은범위 검색용(like. between)
  . 입력/조회 패턴이 다른 테이블 : 일자별등록     
    조회는 사원별(pk사번+일자)
- rownum 필터 시 조건인덱스 사용 : stop key
- 페이징 : 이전 마지막값+rowid 과 union all 이용
- in > between > like 순 효율(코드값 table)
- 선분이력 [고객번호+시작일자+종료일자]
             or [고객번호+종료일자+시작일자]

      >> index_desc (시작+종료)
           and rownum <= 1 추가
 - 순차적 증가 컬럼 인덱스는 항상 우측 블록으로
   값생성
    Buffer busy waits. gc buffer busy
    >> index 해시파티셔닝 > reverse Key

2. Join 원리와 활용
   - Merge into .. using select .. on
     When matched then update
     set ...
     where ... ;
      << bypass_ujvc 힌트 대체할 수 있음.
  - 사용 사례 많음.

 - 결과 건수는 작은데 조인 시 블록I/O 많이 발생
   >> JOIN 시 인덱스만을 이용하고 결과 Table 읽기

 ☆해쉬조인. rowid. 인덱스를 위한 table 중복 사용

3. 옵티마이져 원리
 - 통계정보
   테이블별 로우체인(로우마이그레이션) 발생 현황을
   주기적으로 진단 수치증가 테이블 찾기
   Select * from v$start at
   Where name in ('table fetch by rowid',
                                'table fetch continued row');
 -
5. 소트튜닝
  - sort area 사용 크기 적게 SQL 작성
  - 인덱스 sort. Group by. 이용
  - max 대신 rank() rnum=1 이용하기


6. 파티셔닝
 - DML 경합

+ Recent posts