Skip to content

Latest commit

 

History

History
38 lines (37 loc) · 2.1 KB

oracle-terms.md

File metadata and controls

38 lines (37 loc) · 2.1 KB

오라클 용어

  • random access
    • 의미
      • row id로 테이블을 액세스 하는 행위
      • 적절한 인덱싱과 조인 방법을 사용하였다면 random access가 줄어듦
      • 인덱스를 사용하면 rowid가 자동으로 획득됨
      • 인덱스에 없는 칼럼을 select해야하는 경우 rowid로 테이블을 액세스 해야 함
      • 테이블 액세스할 건이 많고, 인덱스 칼럼 순으로 테이블이 정렬되어있지 않다면 성능이 저하됨
      • 테이블이 인덱스 기준으로 정렬되지 않았기 때문에 조회할 때마다 다른 블럭을 읽어야 하기때문
    • 해결 방법
      • 테이블 종류 변경
        • iot나 클러스터를 이용하면 clustering factor가 극단적으로 개선됨
        • 파티션을 이용해 같은 범위의 데이터를 밀집시킬 수 있음
      • 효율적인 인덱스나 조인방법과 순서를 조정
      • 인덱스에 칼럼을 추가해 테이블 액세스 방지
        • 특정 칼럼때문에 테이블이 액세스되는 경우 인덱스의 마지막에 칼럼 추가하면 해결됨
  • scalar subquery
    • SELECT 절에 사용하는 서브쿼리로 단순한 JOIN을 대체하는 목적으로 사용
    • 풀스캔을 유발하여 성능면에서 저하되기때문에 JOIN 사용이 가능한 경우 JOIN을 쓰는 것이 나음
  • hash join
    • 양쪽 테이블 모두 JOIN할 칼럼에 인덱스가 없는 경우 사용 (자주 사용하지 않고, 쿼리 수행시간이 오래 걸릴 때)
  • trigger
    • 특징
      • 이벤트가 발생할 때 마다 자동으로 수행되는 프로시저
      • 데이터베이스에 저장됨 (=global)
      • 복잡한 cascading의 역할을 함
    • sentense
      • 단 1회 실행함
      • FOR EACH ROW 옵션 사용 안함
    • row
      • 조건을 만족하는 여러 행에 트리거를 여러번 실행함
      • FOR EACH ROW 옵션 사용
  • model
    • 차원 데이터를 보기 좋게 보기 위해 사용
  • window function
    • 분석함수 중 WINDOWING 절과 함께 사용하는 함수
    • PARTITION BY에 명시된 그룹을 더 디테일하게 그루핑 가능