22-08-06

Yu River·2022년 8월 6일
0

공부 일지

목록 보기
3/28

🗓 22-08-06

SQLP 3과목 이론 복습

SQLP 필기 풀이

[SQLP필기풀이]6장 고급SQL튜닝(1-4) 파티셔닝
- 4번, 5번, 6번, 7번, 8번, 9번, 10번, 11번, 12번, 13번,
14번, 15번, 16번, 17번, 18번, 19번, 20번, 21번, 22번, 23번

NODE 토이 프로젝트

- 한국 => 미국행 가격 비교 모듈 추가에 필요한 파라미터 정리

👀 8/6 복기

[1] 파티셔닝 종류

✅ 정적(Static) 파티션 Pruning

  • 파티션 키 컬럼을 상수 조건으로 조회하는 경우에 작동한다.
  • 액세스할 파티션이 쿼리 최적화 시점에 미리 결정된다.
  • 실행계획의 Pstart(partition start)와 Pstop(partition stop) 컬럼에는 액세스할 파티션 번호가 출력된다.

✅ 동적(Dynamic) 파티션 Pruning

  • 파티션 키 컬럼을 바인드 변수로 조회하며 쿼리 최적화 시점에는 액세스할 파티션을 미리 결정할 수 없다.
  • 실행 시점이 돼서야 사용자가 입력한 값에 따라 결정되며, 실행계획의 Pstart와 Pstop 컬럼에는 "KEY'라고 표시된다.
  • ⭐️NL 조인할 때도 Inner 테이블이 조인 컬럼 기준으로 파티셔닝 돼 있다면 동적 Pruning이 작동한다.⭐️

[2] Local Partition 인덱스

  1. ⭐️테이블 파티션을 재구성(ADD/DROP/SPLIT/EXCHANGE 등)할 때 비파티션 인덱스와 Global 파티션 인덱스는 Unusable 상태로 변한다.⭐️
  2. ⭐️반면, Local 파티션 인덱스는 Unusable 상태로 변하지 않으며, 파티션도 자동으로 재구성되므로 관리의 편의성이 좋다.⭐️

✅ Local 파티션 인덱스

  • Local 파티션 인덱스는 테이블 파티션 속성을 그대로 상속받는다.
  • 따라서 테이블 파티션 키가 주문일시면 인덱스 파티션 키도 주문일시가 된다.
  • Local 파티션 인덱스를 'Local 인덱스'라고 줄여서 부르기도 한다.
  • ⭐️Local 파티션 인덱스는 테이블과 정확히 1:1 대응 관계를 갖도록 오라클이 파티션을 자동으로 관리해 준다.⭐️
  • ⭐️테이블 파티션 구성을 변경(add, drop, exchange 등)하더라도 인덱스를 재생성할 필요가 없다.⭐️
  • 변경작업이 순식간에 끝나므로 피크(peak) 시간대만 피하면 서비스를 중단하지 않고도 작업할 수 있다.
  • Local 파티션 인덱스의 장점은 이처럼 관리 편의성에 있다.

[3] Global Partition 인덱스

✅ Global 파티션 인덱스

  • Global 파티션 인덱스는 파티션을 테이블과 다르게 구성한 인덱스다.
  • 구체적으로, 파티션 유형이 다르거나, 파티션 키가 다르거나, 파티션 기준값 정의가 다른 경우다.
  • 비파티션 테이블이어도 인덱스는 파티셔닝할 수 있다.
  • ⭐️글로벌 파티션 인덱스는 테이블 파티션 구성을 변경(DROP, EXCHANGE, SPLIT 등)하는 순간 Unusable 상태로 바뀌므로 곧바로 인덱스를 재생성해 줘야 한다.⭐️
  • 그동안 해당 테이블을 사용하는 서비스를 중단해야 한다.
profile
도광양회(韜光養晦) ‘빛을 감추고 어둠속에서 힘을 기른다’

0개의 댓글