2009-07-02 2 views
0

Oracle 10G의 인덱스 구성 테이블에 사용자 정의 유형을 저장하는 데 알려진 문제점이 있습니까? 이러한 유형 및 테이블 설치를 인덱스 구성 테이블에 Oracle 사용자 정의 유형 저장의 효율성

 
CREATE OR REPLACE TYPE MyList AS VARRAY(256) OF NUMBER(8,0); 

CREATE TABLE myTable (
    id NUMBER(10,0) NOT NULL, 
    my_list MyList NOT NULL) 
    CONSTRAINT pk_myTable_id PRIMARY KEY(id)) 
ORGANIZATION INDEX NOLOGGING; 

, 나는 삽입 APPEND ~ 2.4M의 기록을 통해로드 그리고 내가 디스크 공간이 실행 ​​된 시점에서 공간 20G했다. 데이터 유형의 크기를 살펴보면, 저장되는 공간에 많은 공간을 차지하는 것처럼 보였습니다. 그런 다음 테이블을 일반 테이블 (IOT가 아닌)으로 변경하고 스토리지 7G에 6M + 레코드를 저장하고 PK 인덱스를 추가하여 512M이 추가되었습니다.

과거에는 IOT를 여러 번 사용했지만 사용자 정의 유형은 사용하지 않았습니다.

UDT 및 IOT를 사용할 때 스토리지 요구 사항이 너무 높은 이유는 무엇입니까?

답변

0

AFAICR, Oracle은 항상 의 행을 IOT에 저장합니다.

이제 확인을 위해 문서에서 참조를 찾으려고합니다.

+0

VARRAY가 IOT 및 표준 힙 테이블 모두에서 LOB로 저장되어 있다고 말할 수 있습니다. –

+0

@RC : 예이지만, 크기가 4000 바이트를 초과하지 않는 LOB는 행 내부 및 외부 행 모두에 저장 될 수 있습니다. – Quassnoi

관련 문제