ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 부분범위처리
    Database 2020. 5. 30. 14:26

    부분범위처리란?

    어떤 SQL에서 WHERE절에 주어진 조건을 만족하는 전체범위를 처리하지 않고 운반단위(array size) 까지만 먼저 처리하여 그 결과를 추출시킨 뒤 다음 작을 계속하겠다는 사용자의 요규가 있을 때까지 잠정적으로 수행을 멈추는 처리방식

     

     

    부분범위처리의 목적

    • 부분범위처리의 목적은 스캔범위를 나누어서 운반단위를 가능한 빨리 채워서 처리속도를 향상시키는 것이다.
    • 10,000건의 데이터를 스캔해야 할때 1,000건만 읽어서 필요한 운반단위를 채울 수 있다면 10,000건을 다 읽지 않고 1,000건씩 10번으로 나눠서 처리할 수 있도록 하는 것이다.

     

    부분범위처리의 적용원칙

     

    부분범위처리의 자격

    • 논리적으로 전체범위를 읽어 추가적인 가공을 하지 않고도 동일한 결과를 추출할 수 있다면 자격이 존재

    부분범위처리를 할 수 없는 경우

    • SUM, COUNT등의 GROUP함수를 사용한 경우
    • ORDER BY가 사용된 경우
    • UNION, MINUS, INTERSECT를 사용한 경우

    부분범위처리를 할 수 없는 경우의 대체

    • UNION \-> 중복제거의 목적이 없다면 UNION ALL로 대체
    • ORDER BY \-> INDEX를 이용하여 ORDER BY를 하지 않아도 되는 형태로 대체
    • MINUS, INTERSECT \-> EXISTS, NOT EXISTS, IN, NOT IN

    부분범위처리의 수행속도 향상원리

    • 수행속도는 운반단위를 채우는 속도에 비례한다.

    'Database' 카테고리의 다른 글

    데이터베이스 설계에서 중요한점  (0) 2024.04.02
    NATURAL JOIN이란?  (0) 2020.06.04
    오라클 1주차  (0) 2020.06.03
    같은 테이블의 컬럼 값을 참조하여 null 값 Update  (0) 2019.12.24
Designed by Tistory.