Oracle

Oracle 中的表和主鍵大小

  • October 26, 2017

我正在分析Oracle中一些表的大小,我注意到主鍵佔據了與其相關表幾乎相同的大小。

需要明確的是,我的統計數據如下(大約):

NAME        | TYPE  | SIZE
----------------------------
MYTABLE     | TABLE | 21 GiB
PK_MYTABLE  | INDEX | 20 GiB

MYTABLE 有四列,其中三列組成主鍵。所以尺寸應該是正確的。

  • 但是,為什麼 Oracle 如此低效地儲存它呢?(主鍵的分離結構)
  • Oracle 是否有類似於 MS SQL 的聚集索引的東西,它使索引成為相關表的一部分?
  • 我能做些什麼來避免這種情況嗎?

但是,為什麼 Oracle 如此低效地儲存它呢?(主鍵的分離結構)

對於這個案例來說效率很低。

Oracle 是否有類似於 MS SQL 的聚集索引的東西,它使索引成為相關表的一部分?

它在 Oracle 中稱為 IOT(索引組織表)。

索引組織表概述

例如:

CREATE TABLE mytable
(
c1 number,
c2 number,
c3 number,
c4 number,
CONSTRAINT pk_mytable PRIMARY KEY (c1,c2,c3)
)
ORGANIZATION INDEX 
;

這樣,您將只有一個段 caled PK_MYTABLE

我能做些什麼來避免這種情況嗎?

往上看。

引用自:https://dba.stackexchange.com/questions/189447