Oracle

域索引的段名是什麼意思?

  • March 9, 2017

我想知道我的一個索引使用的空間。我查詢視圖DBA_SEGMENTS來做到這一點:

SELECT segment_name, sum(bytes) FROM dba_segments WHERE segment_name LIKE '%INDEX_NAME%' GROUP BY segment_name;

我得到了這樣的回應:

DR$INDEX_NAME$X 1369440256
DR$INDEX_NAME$I 1586495488
DR$INDEX_NAME$R 65536

DR前綴和後綴的含義是什麼XI以及R在我的段的名稱中?我的索引的實際大小是多少:1369440256 B、1586495488 B 或 2956001280 B?

Oracle Text 索引由四個基本表組成,稱為 $ I, $ 到, $ N and $ R表分別。當打開特定索引選項時使用其他表。這些表存在於文本索引所有者的架構中,並且具有與 DR 連接的名稱 $ , the name of the index, and the suffix (e.g. $ 一世)

Oracle 文本白皮書

根據白皮書,這些是 Oracle Text 使用的表格。

使用以下查詢獲取索引大小。例如,我有一個名為I_ICOL1.

SQL> select segment_name,bytes/1024/1024 MB from dba_segments where SEGMENT_NAME='I_ICOL1';

SEGMENT_NAME        MB
------------        ----------
I_ICOL1             .4375

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