문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 다음 판 양쪽 다음 판 | ||
notepad:vleeky [2010/06/02 23:32] vleeky |
notepad:vleeky [2010/06/02 23:48] vleeky |
||
---|---|---|---|
줄 127: | 줄 127: | ||
=====사) 수정이 필요한 애플리케이션 조사 및 선정===== | =====사) 수정이 필요한 애플리케이션 조사 및 선정===== | ||
- | + | ====== 4.2 클러스터링 형태의 결정 기준 ====== | |
- | {{: | + | {{: |
===테이블 가정=== | ===테이블 가정=== | ||
- TAB3, TAB4는 대용량의 데이터를 가짐 | - TAB3, TAB4는 대용량의 데이터를 가짐 | ||
줄 136: | 줄 135: | ||
- TAB4 는 COL4로 자주 넓은 범위를 처리 | - TAB4 는 COL4로 자주 넓은 범위를 처리 | ||
- | |||
- | ====== 4.2 클러스터링 형태의 결정 기준 ====== | ||
====== 4.2.1 포괄적인 클러스터링 ====== | ====== 4.2.1 포괄적인 클러스터링 ====== | ||
줄 143: | 줄 140: | ||
===지나치게 강한 결합은 독립성을 저하=== | ===지나치게 강한 결합은 독립성을 저하=== | ||
===다른 집합과의 유연성 저하=== | ===다른 집합과의 유연성 저하=== | ||
+ | - TAB1 + TAB2 + TAB3 | ||
====== 4.2.2 부분적인 클러스터링 ====== | ====== 4.2.2 부분적인 클러스터링 ====== | ||
줄 148: | 줄 146: | ||
===원래 하나의 테이블이 정규화로 분할된 테이블=== | ===원래 하나의 테이블이 정규화로 분할된 테이블=== | ||
===다른 집합과는 거의 조인하지 않는 경우=== | ===다른 집합과는 거의 조인하지 않는 경우=== | ||
+ | - TAB1 + TAB2(COL1) | ||
+ | |||
+ | - CLUSTER(TAB3) | ||
====== 4.2.3 단일테이블 클러스터링 ====== | ====== 4.2.3 단일테이블 클러스터링 ====== | ||
줄 154: | 줄 155: | ||
====== 4.2.4 단위 클러스터의 크기 결정 ====== | ====== 4.2.4 단위 클러스터의 크기 결정 ====== | ||
+ | {{: | ||
====1. 블록당 유효 저장공간 크기 = (블록크기 – 블록헤더 크기) * (100-PCTFREE)/ | ====1. 블록당 유효 저장공간 크기 = (블록크기 – 블록헤더 크기) * (100-PCTFREE)/ | ||
+ | |||
+ | - (8000-100)*0.9=7110 | ||
====2. 로우의 평균 길이 산정==== | ====2. 로우의 평균 길이 산정==== | ||
+ | |||
+ | - 평균로우 길이 100바이트로 가정 | ||
====3. 클러스터키 별 로우 수를 구한다.==== | ====3. 클러스터키 별 로우 수를 구한다.==== | ||
+ | | ||
+ | SELECT AVG( CASE WHEN row_cnt > 71 THEN 71 ELSE row_cnt END) | ||
+ | | ||
+ | FROM ( SELECT cluster_key_columns, | ||
+ | FROM table_name | ||
+ | WHERE sampling_conditions.... | ||
+ | GROUP BY cluster_key_columns ); | ||
====4. 단위 클러스터의 크기를 계산하고 결정한다.==== | ====4. 단위 클러스터의 크기를 계산하고 결정한다.==== | ||
+ | - AVG_ROW_LEN * average_row_count | ||
+ | |||
+ | - 7110/2000 =3.5 | ||
+ | |||
+ | - 블록에 3개까지 단워클러스터가 존재할수 있다. | ||
====== 4.2.5 클러스터 사용을 위한 조치 ====== | ====== 4.2.5 클러스터 사용을 위한 조치 ====== | ||
====- 클러스터 키 컬럼을 첫번째로 하는 결합 인덱스가 존재하면==== | ====- 클러스터 키 컬럼을 첫번째로 하는 결합 인덱스가 존재하면==== | ||
- | ==== 경우에 따라 클러스터를 사용하지 않고 결합 인덱스를 사용하는 실행계획을 수립==== | + | ==== 경우에 따라 클러스터를 사용하지 않고 결합 인덱스를 사용하는 실행계획을 수립==== |
====- 클러스터가 반드시 사용되어지기를 원한다면 액세스 경로를 고정시킨다.==== | ====- 클러스터가 반드시 사용되어지기를 원한다면 액세스 경로를 고정시킨다.==== |