테이블(Table):namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
테이블은 관계형 데이터베이스를 구성하는 기본 데이터 구조로서 행과 열의 구조를 가진다. 여러분들은 테이블을 생성시 반드시 생성하기 전에 테이블의 사이즈를 예측하여 매개변수등에 그 부분을 반영해야 할 것이다. 가능하다면 인덱스와 테이블을 물리적으로 분리하여 경합을 줄이는 부분도 중요하다. 테이블, 인덱스, 테이블스페이스, 클러스터,롤백 세그멘트 등을 생성 할 때 마다 어느 정도 저장 공간을 사용할 지에 대해 CREATE 문 내의 Storage Parameter를 지정 함으로서 명시적으로 해당 오브젝트의 디스크 공간를 할당하고 이는 ALTER문을 통해 변경 할 수 있다. 아래에 저장 매개변수의 의미를 이해 한후 실습을 따라해 보자.
initial : 테이블이 생성 될 때의 크기를 정하며 가능하면 입력되어질 데이터의 크기를 파악 한후 크기를 부여하는 것이 좋다.
next : 테이블에 데이터가 입력 됨으로서 처음 정한 크기를 다 사용한 경우 추가되는(확장하는)공간의 크기를 지정한다.
pctincrease : next값에 대한 증분의 비율을 정한다. 기본값은 50이지만 0으로 셋팅하여 사용하는 것이 좋다.
freelist : 삽입(Insert)과 같은 작업시 미리 사용 가능한 Data Block 리스트를 보유 적절히 할당 하는 곳이다. Insert 작업이 주로 이루어지는 테이블 이라면 이 값을 크게 하여 빈 Data Block을 할당 받기 위해 대기하는 일이 없도록 해야 한다. 즉 오라클에서 모든 테이블과 인덱스에 사용 가능한 Data Block의 리스트를 관리하여 Insert 작업이 일어나기 전에 항상 FREELIST를 검사 하는 것이다. 새로운 행은 Data Block이 freelist 상에 있는 동안 입력이 되는 것이다.
pctfree : Update의 경우 컬럼의 데이터가 커질 수 있다. 가령 처음에 테이블에 Insert될때는 NULL로 입력 되었으나 추후 많은 양을 가지는 데이터로 변경 될 수 있을 것이다. 기본값은 10 이다.
pctused : Data Block이 pctfree에 도달하면 블력에서 Data의 차있는 비율이 pctused 보다 낮은 경우에만 데이터의 입력이 가능하다. 즉 블록에서 데이터가 차 있는 정도를 나타내는 매개변수 이다.
minextents : 생성되는 테이블의 최소 extent수 이다. 하나의 테이블이 생성되면 initial 에 next가 더해져 minextents 만큼의 공간이 할당 되는 것이다. 기본값은 1 이다.
maxextents : 생성되는 테이블의 최대 extent수 이다. 테이블에 할당 할 수 있는 최대 수 보다 많은 extent가 생기면 오류가 발생 한다. 기본값은 OS에 종속적 이다.
![]() | ![]() ![]() | 12-27 | 2641 | |
![]() | ![]() ![]() | 12-11 | 1909 | |
53 | ![]() ![]() | 03-15 | 1723 | |
52 | ![]() ![]() | 01-31 | 1847 | |
51 | ![]() ![]() | 01-31 | 2684 | |
50 | ![]() ![]() | 01-31 | 1437 | |
49 | ![]() ![]() | 01-19 | 1759 | |
48 | ![]() ![]() | 01-11 | 1645 | |
47 | ![]() ![]() | 01-03 | 2163 | |
46 | ![]() ![]() | 12-27 | 2641 | |
45 | ![]() ![]() | 12-19 | 1868 | |
44 | ![]() ![]() | 12-14 | 1838 | |
43 | ![]() ![]() | 12-11 | 1909 | |
42 | ![]() ![]() | 12-09 | 1499 | |
41 | ![]() ![]() | 12-01 | 1730 | |
40 | ![]() ![]() | 12-01 | 1907 | |
39 | ![]() ![]() | 12-01 | 1373 |
댓글 없음:
댓글 쓰기