-
2. 친절한 SQL튜닝IT 서적/친절한 SQL 튜닝 2023. 10. 20. 22:24728x90
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