Git :)

ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 2. 친절한 SQL튜닝
    IT 서적/친절한 SQL 튜닝 2023. 10. 20. 22:24
    728x90
    DB에서 데이터를 찾는 방법 두 가지

     

    Table Full Scan vs Index Range Scan
    • Table Full Scan ==> 테이블에 속한 블록 '전체'를 읽어서 사용자가 원하는 데이터를 찾는 방식
    • Index Range Scan ==> 인덱스에서 '일정량'을 스캔하면서 얻은 ROWID로 테이블 레코드를 찾아가는 방식이다.
    • ROWID는 테이블 레코드가 디스크 상에 어디 저장됐는지를 가르키는 위치정보다.

    예시 : 어떤 초등학교에 '홍길동' 학생을 찾는 두 가지 방법.
    1) 1~6반 모든 교실을 돌며 홍길동 학생을 찾는 방법; Table Full Scan
    2) 교무실에서 학생명부를 조회해 홍길동 학생이 있는 교실만 찾아가는 방식 ==> Index Range Scan

     

    인덱스 스캔 효율화 두 가지 방법

    • 인덱스 스캔 효율화 튜닝 ==> 인덱스에서 정렬되는 데이터항목을 고려한다.
      ※ 어떤 컬럼을 인덱스로 설정할 것인지...?
    • 랜덤 액세스 최소화 튜닝

     

     

    SQL 튜닝은 랜덤 I/O와의 전쟁이다.

    • 조인메소드 중 가장 일반적으로 사용하는 NL조인이 대량 데이터를 조인할 때 느린 이유는 랜덤 I/O 때문이다. 이를 극복하기 위해 개발된 것이 '소트머지 조인'과 '해시 조인'이다.
    728x90

    'IT 서적 > 친절한 SQL 튜닝' 카테고리의 다른 글

    6. 친절한 SQL 튜닝  (0) 2023.10.20
    5. 친절한 SQL 튜닝  (0) 2023.10.20
    4. 친절한 SQL 튜닝  (0) 2023.10.20
    3. 친절한 SQL 튜닝  (0) 2023.10.20
    1. 친절한 SQL 튜닝  (0) 2023.10.20