<nobr id="upsn3"><small id="upsn3"><dl id="upsn3"></dl></small></nobr>
<nobr id="upsn3"><fieldset id="upsn3"></fieldset></nobr>
    <big id="upsn3"><sup id="upsn3"><small id="upsn3"></small></sup></big>
    監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價(jià)咨詢管理系統(tǒng) | 工程設(shè)計(jì)管理系統(tǒng) | 甲方項(xiàng)目管理系統(tǒng) | 簽約案例 | 客戶案例 | 在線試用
    X 關(guān)閉

    數(shù)據(jù)庫存儲(chǔ)系統(tǒng)

    申請(qǐng)免費(fèi)試用、咨詢電話:400-8352-114

      數(shù)據(jù)庫的存儲(chǔ)結(jié)構(gòu)是這個(gè)模式的,即記錄是按照行存儲(chǔ)的,但是數(shù)據(jù)庫的讀取不是以行為單位,否則一次讀取只能處理一行,效率很低。因此數(shù)據(jù)庫,無論是讀一行,還是讀取多行,都是將這些行所在的頁進(jìn)行加載。數(shù)據(jù)管理存儲(chǔ)空間的基本單位是頁(Page)

      頁可以存儲(chǔ)多個(gè)行記錄(Row) ,先是表空間(Tablespace),表空間包含段(segement),還存在區(qū)(Extent)。

    數(shù)據(jù)庫.jpg

      這里泛普給您詳細(xì)介紹數(shù)據(jù)庫整體的存儲(chǔ)結(jié)構(gòu):

      1、段(Segment)

      段里面有多個(gè)區(qū),區(qū)在文件系統(tǒng)是一個(gè)連續(xù)的分片空間,不過在段中不要求區(qū)與區(qū)之間是分配單位,不同類型的數(shù)據(jù)庫對(duì)象以不同的段形式存在。 當(dāng)我們創(chuàng)建數(shù)據(jù)表,索引的時(shí)候,就會(huì)創(chuàng)建對(duì)應(yīng)的段,比如建表的時(shí)候,會(huì)自動(dòng)創(chuàng)建表段,創(chuàng)建表索引的時(shí)候,會(huì)創(chuàng)建一個(gè)索引段。

      2、區(qū)(Extent)

      區(qū)是一個(gè)比頁高一個(gè)級(jí)別的存儲(chǔ)結(jié)構(gòu),一個(gè)區(qū)一般有64個(gè)里連續(xù)的頁,InnoDB 頁的默認(rèn)大小是 16K, 索引一個(gè)區(qū)的大小是 64*16 = 1MB

      3、表空間(Tablespace )

      表空間是一個(gè)邏輯容器,表空間存儲(chǔ)的對(duì)象是段,在一個(gè)表空間中可以有多個(gè)段,一個(gè)段只能屬于一個(gè)表空間,數(shù)據(jù)庫可以有多個(gè)表空間,表空間從管理上劃分為系統(tǒng)表空間、用戶表空間、撤銷表空間、臨時(shí)表空間。

      4、oracle 中使用塊代表頁

      數(shù)據(jù)庫 IO 最小單位是頁,與數(shù)據(jù)庫相關(guān)的內(nèi)容會(huì)存在頁結(jié)構(gòu)中,數(shù)據(jù)頁包括7個(gè)部分,分別是文件頭(File Header),頁頭(Page Header),最大最小記錄(Inflimum+siprenum)、用戶記錄(User Records)、空閑空間(Free Space),頁目錄(Page Directory)和文件尾(File Tailer)。

      5、頁的存儲(chǔ)結(jié)構(gòu)

      頁主要分成3部分: 頭尾節(jié)點(diǎn)部分。數(shù)據(jù)記錄部分,索引部分。

      數(shù)據(jù)頁有兩個(gè)字段,分別是文件頭FIL_PAGE_PREV 和文件尾 FIL_PAGE_NEXT, 主要作用是指針,分別指向上一個(gè)數(shù)據(jù)和下一個(gè)數(shù)據(jù),連接起來相當(dāng)于一個(gè)雙向鏈表。

      第二部分是記錄部分,最大最小記錄和用戶記錄部分占了頁結(jié)構(gòu)的主要空間。當(dāng)新記錄插入的時(shí)候,會(huì)從空想空間分配用于存儲(chǔ)新記錄。

      第三部分是索引部分, 這部分是頁目錄,起到了記錄索引的作用。

    數(shù)據(jù)庫1.jpg

      6、如何創(chuàng)建一個(gè)頁記錄?

      將索引的記錄分成幾組,這些記錄包括最小記錄和最大記錄,但是不包括已刪除記錄。

      第1組,也就是最小記錄所在的分組只有一個(gè)記錄; 最后一組,就是最大記錄所在的分組,會(huì)有1-8個(gè)記錄,其余的組數(shù)據(jù)在4-8條。

      在每個(gè)組最后一條記錄的頭信息中會(huì)存儲(chǔ)該組一共有多少條,作為 n_owned 字段。

      頁目錄用來存儲(chǔ)每組最后一條記錄的地址偏移量,這些地址偏移量會(huì)按照先后順序存儲(chǔ)起來,每組的地址偏移量稱為 slot ,每個(gè)槽相當(dāng)于指針指向了不同組的最后一個(gè)記錄。

    發(fā)布:2021-06-18 14:09    編輯:泛普軟件 · zhangshuyue    [打印此頁]    [關(guān)閉]