2025/04 2

[sql 튜닝] 3.3 인덱스 스캔 효율화

기본적으로는 인덱스 칼럼 추가로 튜닝을 하는데, (랜덤 IO 줄이는 효과인가? ) 인덱스 스캔 효율화는 다양한 방법이 존재한다. 3.3.1. 인덱스 탐색인덱스 탐색 과정 상세인덱스를 구성하는 두 개 칼럼에 대해, 둘다 between 조건 절로 묶여있다면 선두 칼럼은 인덱스의 스캔 범위를 줄이는데 도움이 되지만, 두번째 칼럼은 그렇지 못하다. 3.3.2. 인덱스 스캔 효율성결국 인덱스 선행 컬럼이 조건절에 없거나, '=' 연산이 아니라면 비효율이 발생한다. C1, C2, C3, C4 -> C3 에 대한 조건 없이 C4 에 대한 '=' 조건만 있는 경우, 비효율 발생. '=' 가 아니라 between 조건이라면 비효율 발생. 선두 칼럼가장 앞에 있는 칼럼. 선행 칼럼특정칼럼보다 상대적으로 앞쪽에 있는 칼럼3..

개발/TIL 2025.04.18

[sql 튜닝] 인덱스 튜닝 3-2. 부분범위 처리

3.2.1 부분범위처리fetch call 의 원리.전체 쿼리 결과집합을 쉽 없이 연속적으로 전송하지 않고 사용자로부터 Fetch Call 이있을 때마다 일정량씩 나누어 전송하는 것을 이른바 ‘부분범위 처리라고 한다.sql 문에서 페이징 마냥 조회를 나누어서 하는 것도 해당될까? -> 맞다. 매우 중요한 부분! 5장에서 또 등장한다. sql 상에서 limit, row num 지정하는 것에도 해당한다.정렬정렬 이슈 때문에 부분범위 처리를 하지 못하는 경우.인덱스 특성 상 정렬을 생략할 수 있는 경우에만 부분범위 처리 또한 가능하다.Array Size 조절을 통한 Fetch Call 최소화네트워크 전송량에 따라 Array size 를 조절하는 것이 좋다.파일 다운로드처럼 어차피 모두 전송해야한다면 최대한 크게..

개발/TIL 2025.04.17
728x90
728x90