电竞比分网-中国电竞赛事及体育赛事平台

分享

ROWID_一路走過

 YES_MAN 2009-04-13
ROWID
2008年10月15日 星期三 17:34

ORACLE ROWID

物理 rowid[physical rowid]:用于存儲常規(guī)表,聚簇表,表分區(qū)及子分區(qū),索引,索引分區(qū)及子分區(qū)數(shù)據(jù)行的地址。
邏輯 rowid[logical rowid]:用于存儲索引組織表數(shù)據(jù)行的地址。

物理 rowid 數(shù)據(jù)類型有兩種格式:
擴(kuò)展 rowid[extended rowid]:格式支持與表空間相關(guān)的數(shù)據(jù)塊地址,能夠高效地定位分區(qū)表及分區(qū)索引中的數(shù)據(jù)行,同樣也能用于對非分區(qū)表及非分區(qū)索引進(jìn)行高效地檢索。在 Oracle8i(或更高版本)數(shù)據(jù)庫中創(chuàng)建的表及索引均使用擴(kuò)展 rowid。
受限 rowid[restricted rowid]:格式的作用是為 Oracle 7 或更早版本的數(shù)據(jù)庫應(yīng)用程序提供向后兼容能力。

擴(kuò)展 rowid [數(shù)據(jù)對象編號+文件+塊+行] (80 bit 位)

使用 64 進(jìn)制對每個(gè)數(shù)據(jù)行的物理地址進(jìn)行編碼。編碼字符為 A-Z,a-z,0-9,+,和 /。

擴(kuò)展 rowid 的格式可分為 4 段,OOOOOOFFFBBBBBBRRR

OOOOOO:數(shù)據(jù)對象編號[data object number]用于確定數(shù)據(jù)庫的段。位于相同數(shù)據(jù)段中的方案對象具有相同的數(shù)據(jù)對象編號。
FFF:與表空間相關(guān)的數(shù)據(jù)文件編號[datafile number],代表包含此行的數(shù)據(jù)文件。
BBBBBB:包含數(shù)據(jù)行的數(shù)據(jù)塊[data block]。數(shù)據(jù)塊編號與其所在的數(shù)據(jù)文件相關(guān),而非與表空間相關(guān)。因此兩個(gè)具備相同數(shù)據(jù)塊編號的數(shù)據(jù)行可能存在于同一個(gè)表空間的不同數(shù)據(jù)文件中。
RRR: 數(shù)據(jù)塊中的數(shù)據(jù)行。

可以使用 DBMS_ROWID 包通過擴(kuò)展 rowid 獲取數(shù)據(jù)庫對象信息,在擴(kuò)展格式及受限格式間轉(zhuǎn)換 rowid。

受限 rowid [塊+行+文件](48 bit 位)

塊:含數(shù)據(jù)行的數(shù)據(jù)塊[data block](示例中為 DD5)。數(shù)據(jù)塊編號與其所在的數(shù)據(jù)文件相關(guān),而非與表空間相關(guān)。因此兩個(gè)具備相同數(shù)據(jù)塊編號的數(shù)據(jù)行可能存在于同一個(gè)表空間的不同數(shù)據(jù)文件中。
行:數(shù)據(jù)行[row]在數(shù)據(jù)塊中的位置(示例中各行分別為 0,1,2)。數(shù)據(jù)塊內(nèi)的行號總是從 0 開始。
數(shù)據(jù)文件:數(shù)據(jù)行所在的數(shù)據(jù)文件[datafile](示例中的文件號為 1)。數(shù)據(jù)庫內(nèi)的數(shù)據(jù)文件編號總是從 1 開始,數(shù)據(jù)文件編號在一個(gè)數(shù)據(jù)庫內(nèi)唯一。


使用 rowid

訪問特定數(shù)據(jù)行的最快的方法。
了解數(shù)據(jù)表是如何組織的。
rowid 是數(shù)據(jù)表內(nèi)各數(shù)據(jù)行的唯一標(biāo)識。

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多