사용자 도구

사이트 도구


study:oracle:datadb:3week_1:03

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
study:oracle:datadb:3week_1:03 [2010/05/19 14:08]
gwgwg
study:oracle:datadb:3week_1:03 [2010/05/19 16:11] (현재)
gwgwg
줄 33: 줄 33:
  
   * 3.2.3.4. 정렬 처리(Sort Operation)   * 3.2.3.4. 정렬 처리(Sort Operation)
-    - 해당 쿼리의 추출 로우에 대하여 유일한 집합을 생성하는 실행계획 +    - SORT(UNIQUE) 
-     - 서브쿼리의 제공자 역할일 경우 (단, 확인자 역할의 경우 FILTER 형태로 실행계획이 나타남) +      - 해당 쿼리의 추출 로우에 대하여 유일한 집합을 생성하는 실행계획 
-     - DISTINCT 문 사용+        - 서브쿼리의 제공자 역할일 경우 (단, 확인자 역할의 경우 FILTER 형태로 실행계획이 나타남) 
 +        - DISTINCT 문 사용 
 +    - SORT(AGGREGATE) 
 +      - GROUP BY를 하지 않은 상태에서, 전체 대상에 대해 그룹함수로 계산을 할 경우 발생 
 +        - SUM, COUNT, MIN, MAX, AVG 
 +         - 일반적인 정렬은 하지 않음 
 +        - MIN, MAX의 경우 최초 액세스 한 값과 이후 값을 비교하여 작거나/크면 갱신 
 +    - SORT(GROUP BY) 
 +      - 여러 개의 다른 그룹으로 AGGREGATE를 수행 
 +      - GROUP BY 문에 의해 발생 
 +      - 필수적으로 정렬 수행 
 +      - 그룹의 개수가 많을 수록 부하 증가 
 +       - SORT OPERATION – SORT (JOIN) 
 +        - {{:study:oracle:datadb:3week_1:1234.jpg|}} 
 +      - SORT OPERATION – SORT (ORDER BY) 
 +         - {{:study:oracle:datadb:3week_1:12345.jpg|}}
  
   * 3.2.3.5. 합집합 (Union, Union-All) 실행계획   * 3.2.3.5. 합집합 (Union, Union-All) 실행계획
-    -  GROUP BY를 하지 않은 상태에서, 전체 대상에 해 그룹함수로 계산을 할 경우 발생 +    - 서로 다른 쿼리에서 처리한 결과를 다시 모음 
-      - SUM, COUNT, MIN, MAX, AVG +      - 액세스의 복잡성 측면에서  
-     일반적인 정렬은 하지 않음 +        - 한 곳서 복잡하게 처리야 할 것을 몇 개로 분리하여 수행하여 단순화 함 
-      MIN, MAX의 경우 최초 액세스 한 값과 이후 값을 비교하여 작거나/크면 갱신+      - UNION VS UNION ALL 
 +        UNION : 최소 공배수 집합을 만들어야 함으로 SORT(UNIQUE) 수행이 필요 
 +         - UNION ALL : SORT(UNIQUE)가 필요 없음 
 +         중간 결과 집합을 고려하여 각 사용 유무를 결정
  
   * 3.2.3.6. 집합(Intersection) 실행계획   * 3.2.3.6. 집합(Intersection) 실행계획
 +    - 양쪽 집합 모두에 속하는 공통집합 (즉, 최대 공약수의 잡합)
 +    - 각각의 집합에서 유일한 집합을 구해야함.
 +    - Sort Merge Join과 유사한 방법을 사용하여 양쪽 집합을 유일하게 정렬한뒤 머지하고 있는것을 확인가능 
 +
   * 3.2.3.7. 차집합(Minus) 실행계획   * 3.2.3.7. 차집합(Minus) 실행계획
 +    - 어느 한쪽의 집합을 기준으로 다른 집합의 요소들을 제거
 +    - 서브쿼리, 인라인뷰, DISTNCT등을 사용하여 동일한 결과 보장 가능
 +    - SELECT-LIST에 나타난 모든 컬럼들의 유일집합을 만들기 위해 MERGE작업과 유사한 실행계획 출력
 +        - SORT(UNIQUE)
 +        - 단, 기본키 ‘=‘(EQUAL) 액세스는 SORT(UNIQUE)가 발생하지 않음
 +
   * 3.2.3.8. COUNT(STOPKEY) 실행계획   * 3.2.3.8. COUNT(STOPKEY) 실행계획
 +    -  조건절에 ROWNUM을 사용했을 경우 발생
 +    - ROWNUM?
 +      - 가상(PSEUDO) 컬럼 : 테이블에는 존재하지 않지만, DBMS가 제공한 컬럼
 +      - SYSDATE, USER, ROWID, LEVEL(CONNECT BY 사용시)
 +
study/oracle/datadb/3week_1/03.1274245727.txt.gz · 마지막으로 수정됨: 2010/05/19 14:08 저자 gwgwg