2009-07-02 56 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; 

對於這種類型和表的設置,我通過插入附加〜2.4M記錄加載,它注意到在這一點我跑出來的磁盤空間空間20G。考慮到數據類型的大小,這似乎佔用了很多存儲空間。然後,我將表格改爲常規表格(不是IOT),並且我在〜7G存儲中存儲了6M +記錄,並添加了額外512M的PK索引。

我過去曾多次使用過IOT,但沒有使用用戶定義的類型。

爲什麼使用UDT和IOT時的存儲需求如此之高?

回答

0

AFAICROracle總是存儲VARRAY的出行在IOT的。

我現在試着在文檔中找到參考文件來確認這一點。

+0

從我可以告訴VARRAY被存儲爲物聯網和標準堆表中的LOB。 – 2009-07-02 15:04:57

相關問題