小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

oracle 10g中的ROWID

 iversion 2009-05-08
oracle 10g中的ROWID
2009年04月20日 星期一 14:56

 

1 ROWID的特性

1rowid是一個(gè)偽列,是用來(lái)確保表中行的唯一性,它并不能指示出行的物理位置,但可以用來(lái)定位行。

2rowid是存儲(chǔ)在索引中的一組既定的值(當(dāng)行確定后)。我們可以像表中普通的列一樣將它選出來(lái)。
3)利用rowid是訪問(wèn)表中一行的最快方式。

4rowid需要10個(gè)字節(jié)來(lái)存儲(chǔ),顯示為18位的字符串。

2 ROWID的結(jié)構(gòu)

rowid的組成結(jié)構(gòu)為:

data object number(6位字符串) relative file number(3位字符串) block number(6位字符串) row number(3位字符串),如:AAAADeAABAAAAZSAAA

64編碼的物理地址,編碼字符是A-Z, a-z, 0-9, +,and/.

      由4部分組成OOOOOOFFFBBBBBBRRR (obj#file#block#row#)

      OOOOOO -–data object number

      FFF –-表空間相對(duì)的數(shù)據(jù)文件號(hào)

      BBBBBB –-塊號(hào)

      RRR ---行號(hào)

我們可以借助oracle提供的包dbms_rowid,來(lái)對(duì)rowid進(jìn)行解析從而獲取關(guān)于行的相關(guān)信息,這里你可以選擇任何一個(gè)數(shù)據(jù)庫(kù)中的表,如下所示:

SQL> get c:\rowid.sql
1 select
2 rowid,
3 dbms_rowid.rowid_object(rowid) obj_id,
4 dbms_rowid.rowid_relative_fno(rowid) df#,
5 dbms_rowid.rowid_block_number(rowid) blknum,
6 dbms_rowid.rowid_row_number(rowid) rowno
7* from scott.emp
SQL> r
1 select
2 rowid,
3 dbms_rowid.rowid_object(rowid) obj_id,
4 dbms_rowid.rowid_relative_fno(rowid) df#,
5 dbms_rowid.rowid_block_number(rowid) blknum,
6 dbms_rowid.rowid_row_number(rowid) rowno
7* from scott.emp

ROWID                  OBJ_ID        DF#     BLKNUM      ROWNO
------------------ ---------- ---------- ---------- ----------
AAAL+ZAAEAAAAAdAAA      49049          4         29          0
AAAL+ZAAEAAAAAdAAB      49049          4         29          1
AAAL+ZAAEAAAAAdAAC      49049          4         29          2
AAAL+ZAAEAAAAAdAAD      49049          4         29          3
AAAL+ZAAEAAAAAdAAE      49049          4         29          4
AAAL+ZAAEAAAAAdAAF      49049          4         29          5
AAAL+ZAAEAAAAAdAAG      49049          4         29          6
AAAL+ZAAEAAAAAdAAH      49049          4         29          7
AAAL+ZAAEAAAAAdAAI      49049          4         29          8
AAAL+ZAAEAAAAAdAAJ      49049          4         29          9
AAAL+ZAAEAAAAAdAAK      49049          4         29         10
AAAL+ZAAEAAAAAdAAL      49049          4         29         11
AAAL+ZAAEAAAAAdAAM      49049          4         29         12
AAAL+ZAAEAAAAAdAAN      49049          4         29         13

14 rows selected.

當(dāng)如下情況發(fā)生時(shí),rowid將發(fā)生改變:

1)對(duì)一個(gè)表做表空間的移動(dòng)后

2)對(duì)一個(gè)表進(jìn)行了EXP/IMP

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多