col$資料字典中col#,segcol#,intcol#的意義
讓實驗說話:
SQL> create cluster test1.C_T1 ( c_a number(10));
Cluster created.
SQL> create index test1.c_t1_idx on cluster test1.c_t1;
Index created.SQL> create table test1.t1 (a varchar(2),b number(10),c varchar2(10)) cluster te
st1.c_t1 (b);
Table created.
SQL> select object_id from dba_objects where object_name='T1';
OBJECT_ID
----------
6591
SQL> select col#,name,segcol#,intcol# from col$ where obj#=6591;
COL# NAME SEGCOL# INTCOL#
---------- ---------------------------- ---------- ----------
1 A 2 1
2 B 1 2
3 C 3 3
這裡可以看到,intcol#為建立表時的列順序,col#初始情況下跟intcol#相同。而segcol#表示列在資料段上儲存時的順序。由於這是一個聚簇表,因此在儲存時最前的列就是聚簇列。(這裡為列B)
SQL> alter table test1.t1 set unused (a);
Table altered.
SQL> select col#,name,segcol#,intcol# from col$ where obj#=6591;
COL# NAME SEGCOL# INTCOL#
---------- ---------------------------- ---------- ----------
0 SYS_C00001_08011917:03:19$ 2 1
1 B 1 2
2 C 3 3
這裡可以看到,在將列設為UNUSED之後,COL#變為0,其餘的列的COL#重新排序。而此時該列在資料段上並沒有被刪除掉,因此其SEGCOL#列仍然保持原來的值。
SQL> alter table test1.t1 add ( d varchar2(10));
Table altered.
SQL> select col#,name,segcol#,intcol# from col$ where obj#=6592;
COL# NAME SEGCOL# INTCOL#
---------- ---------------------------- ---------- ----------
0 SYS_C00001_08011917:03:19$ 2 1
1 B 1 2
2 C 3 3
3 D 4 4
SQL> alter table test1.t1 drop(c);
Table altered.
SQL> select col#,name,segcol#,intcol# from col$ where obj#=6592;
COL# NAME SEGCOL# INTCOL#
---------- ---------------------------- ---------- ----------
1 B 1 1
2 D 2 2
刪除列後,這三個欄位均重新進行了排列。
結論:COL#可以表示該列是否在用(0為UNUSED),SEGCOL#表示各列在資料塊上儲存時的順序,INTCOL#表示建立表時各列的定義順序。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69924/viewspace-153380/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 大資料分析的目的與意義大資料
- 大資料視覺化的意義在哪大資料視覺化
- 2.1.3 CDB中的資料字典結構
- bootstrap一個標籤中,同時有 col-xs , col-sm , col-md , col-lgboot
- vue中“:”、“.”、“@”意義Vue
- 資料視覺化工具的意義有哪些視覺化
- 理解資料庫規範化的意義ZI資料庫
- 2.1.3.4 資料字典儲存在CDB中
- 大資料分析對企業經營的意義大資料
- 單一資料庫拆分成幾十個資料庫的意義資料庫
- bootstrap之col-xs-*、col-sm-* 、col-md-*和.col-lg-*boot
- InnoDB資料字典--字典表載入
- Aop+自定義註解實現資料字典翻譯
- ThinkCMF資料字典
- MySQL資料字典MySql
- lscpu中的 socket、core、thread的意義thread
- 資料安全的重要性和意義是什麼?
- 大資料在網際網路時代的意義!大資料
- 大資料平臺對企業運營的意義大資料
- 中臺建設中的幕後意義
- Bootstrap 柵格系統佈局 .col-lg- .col-md- .col-sm- .col-xs-boot
- 資料分析的目的和意義是什麼?_光點科技
- Oracle跨主機複製資料庫背後的意義Oracle資料庫
- 資料庫中AS的使用意義資料庫
- Redis資料結構詳解(2)-redis中的字典dictRedis資料結構
- 12C_CDB中的資料字典體系結構
- 資料流圖 和 資料字典
- 檢視資料字典
- 人生的意義
- WPF中資源字典(ResourceDictionary)的使用
- 資料安全是指什麼?有什麼意義?
- 2.1.3.1 資料字典分離的目的
- 什麼是Oracle的資料字典?Oracle
- 2.8.3 資料庫服務的資料字典檢視資料庫
- 邏輯迴歸中的係數的意義邏輯迴歸
- 2.12 資料庫資料字典檢視資料庫
- oracle資料庫資料字典應用Oracle資料庫
- 意義
- nginx的配置檔案server_name的意義 location意義NginxServer