在Oracle 10G中将用户定义的类型存储在索引组织表中是否存在已知问题?
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;
通过这种类型和表格设置,我通过insert append~2.4M记录加载,它占用了20G的空间,此时我的磁盘空间用完了 . 查看数据类型的大小,这似乎占用了存储内容的大量空间 . 然后我将表更改为常规表(不是IOT),并且我在~7G存储中存储了6M记录,添加了额外512M的PK索引 .
我过去曾多次使用过IOT,但没有使用用户定义的类型 .
为什么使用UDT和IOT时的存储要求如此之高?
1 回答
AFAICR
,Oracle
总是在IOT
中存储VARRAY
的行 .我现在将尝试在文档中找到引用以确认这一点 .