본문 바로가기

04번. IT 힌트얻기/▶ DB Tuning

[실행계획] Exercise_03 ▶ 실행계획 설명 1-1. DUAL 테이블을 접근 -> 조건에 ROWNUM을 이용한다. 1-2. WORK_INF 테이블에 FULL SCAN으로 접근한다. 2. 1-1, 1-2의 결과 집합을 CARTESIAN JOIN을 통해서 연결해준다. 3. ORDER BY 순으로 SORTING을 해주고보여준다. ▶ 추가 설명 (1) FAST DUAL - Oracle 9i 에서 사용되는 DUAL의 FULL TABLE SCAN 대신 10g에서는 FAST DUAL optimization plan을 사용한다. Use DUAL Freely 아래와 같은 명령을 실제로 사용하는 개발자(또는 DBA)의 수가 얼마나 될 것이라 생각하십니까? select USER into from DUAL 아마 거의 모든 이들이 사용하고 있을 것입니다.. 더보기
[실행계획] Exercise_02 ▶ 계획 설명 1. WORK_INF 테이블을 Full Scan한다. - 이때 300row와 11K 만큼 Access를 하게 된다. 2. Access한 데이터를 group by를 한다. --> 위에서 HASH (GROUP BY)를 진행한다. version 10.2 에서 부터 GROUP BY가 SORT GROUP BY에서 HASH GROUP BY로 바뀌었다고 한다. 그래서 GROUP BY 한 결과가 기존에서는 SORT되어 보여주었지만 이 버전부터는 SORT되지 않은 채로 보여준다. 그래서 SORT된 결과 값을 보기위해서는 ORDER BY 절에 GROUP BY절에 설정한 것들을 추가해야 한다. 그리고 이렇게 되었을 경우에는 HASH GROUP BY가 아닌 SORT GROUP BY가 된다. ▶ 추가 설명 (Ha.. 더보기
[실행계획] Exercise_01 ◆ 여러가지 쿼리에 대해서 시험을 해 볼 것이다. 어떤 식으로 실행계획이 만들어지는지 하나하나 살펴볼 것이다. 차근차근 ... 단계를 밟아 나가자..... start ▶ 실행계획 설명 1. employees 테이블을 full scan하여 액세스한다. 이때 8 row, 96 Byte를 access한다. 2. employees 테이블을 full scan하여 액세스한다. 이때 10 row, 120 Byte를 access한다. 3. 1,2 에서 액세스한 두 테이블에 대해 union-all(중복포함)을 한다. 4. 결합된 데이터에 대해 order by 순으로 sort를 해주고 해당 데이터를 보여준다. ▶ 용어 설명 Cost 어떤 특별한 측정 단위가 아니고 비용기반 옵티마이저가 하나의 SQL에 대해 여러 개의 .. 더보기
[Notice]실행계획 카테고리 생성 실행계획에 관련된 카테고리를 생성을 했다. 최근에 Homo Convergence Story를 바탕으로 해서 여러 분야에 대해서 고민을 하고 사유하는 시간을 가지고자 한다. 그 중에 SQL에 대한 고급 기능 이해 및 튜닝에 대한 역량강화를 위해 해당 카테고리를 만들었다. 이것에 대해 나도 모르기에 개념부터 용어부터 하나하나 실행해나가려고 한다. 이 카테고리가 자리가 잡혀갈즈음이 기대된다. 변해있는 나의 모습이~~ 더보기