-- 물리적인 순서 없이 적재된 테이블
create table clustered ( x int, data char(255) );
insert /*+ append */ into clustered (x, data )
select rownum
,dbms_random.random
from all_objects;
alter table clustered
add constraint clustered_pk primary key (x);
analyze table clustered compute statistics;
-- 물리적인 순서(기본 키)로 적재된 테이블
create table non_clustered ( x int, data char(255) );
insert /*+ append */ into non_clustered (x, data)
select x
,data
from clustered
order by data;
alter table non_clustered
add constraint non_clustered_pk primary key (x);
analyze table non_clustered compute statistics;
select index_name
,clustering_factor
from user_indexes
where index_name like '%CLUSTERED_PK';
show parameter optimizer_index
create role plustrace;
grant select on v_$sesstat to plustrace;
grant select on v_$statname to plustrace;
grant select on v_$session to plustrace;
grant plustrace to dba with admin option;
set echo off
grant plustrace to sys;
@C:\oracle\ora92\rdbms\admin\utlxplan.sql
set timing on
set autotrace traceonly explain
show parameter db_file_multi
select *
from clustered
where x between 50 and 2500;
alter session set db_file_multiblock_read_count = 128;
show parameter db_file_multi
select *
from clustered
where x between 50 and 2500;
alter session set db_file_multiblock_read_count = 4;
select *
from clustered
where x between 50 and 10000;
- 강좌 URL : http://www.gurubee.net/lecture/3450
- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.