




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、2022-3-81數(shù)據(jù)庫系統(tǒng)設(shè)計與原理數(shù)據(jù)庫系統(tǒng)設(shè)計與原理2022-3-82第第7 7章存儲結(jié)構(gòu)和文件結(jié)構(gòu)章存儲結(jié)構(gòu)和文件結(jié)構(gòu)主要介紹數(shù)據(jù)庫系統(tǒng)的底層存儲。包括存儲介質(zhì)、數(shù)據(jù)庫文件的組織及結(jié)構(gòu)、文件中記錄的組織及結(jié)構(gòu)。物理存儲介質(zhì)物理存儲介質(zhì)文件結(jié)構(gòu)文件結(jié)構(gòu)磁盤磁盤文件中記錄的組織文件中記錄的組織RAIDRAID數(shù)據(jù)字典的存儲數(shù)據(jù)字典的存儲第三級存儲第三級存儲本章總結(jié)本章總結(jié)2022-3-83DBMSDBMS總體結(jié)構(gòu)回顧:磁盤存儲器總體結(jié)構(gòu)回顧:磁盤存儲器應用界面應用界面索引索引統(tǒng)計數(shù)據(jù)統(tǒng)計數(shù)據(jù)數(shù)據(jù)文件數(shù)據(jù)文件數(shù)據(jù)字典數(shù)據(jù)字典應用程序應用程序交互查詢交互查詢數(shù)據(jù)庫模式數(shù)據(jù)庫模式嵌入式嵌入式DM
2、LDML預編譯器預編譯器DMLDML編譯器編譯器DDLDDL解釋器解釋器查詢計算引擎查詢計算引擎事務管理器事務管理器緩沖區(qū)管理器緩沖區(qū)管理器文件管理器文件管理器日志日志2022-3-847.17.1物理存儲介質(zhì)物理存儲介質(zhì)認識存儲介質(zhì)成本與速度隨機存取順序存取聯(lián)機與脫機存儲容量存儲易失性高速緩沖存儲器主存儲器磁盤光盤磁帶一級存儲一級存儲三級存儲三級存儲二級存儲二級存儲閃存2022-3-857.27.2磁盤磁盤基本術(shù)語轉(zhuǎn)軸磁道扇區(qū)柱面盤片旋轉(zhuǎn)讀寫頭磁盤臂磁盤臂裝置2022-3-867.27.2磁盤磁盤磁盤的物理特性 磁道: 盤片的表面被邏輯地劃分為磁道。 扇區(qū): 磁道又被邏輯地劃分為扇區(qū); 扇區(qū)
3、是從磁盤讀出和寫入數(shù)據(jù)的最小單位,通常大小為512字節(jié)。 物理塊: 一個盤片的一條磁道內(nèi)幾個連續(xù)的扇區(qū)構(gòu)成的序列稱為物理塊,一般也簡稱塊; 數(shù)據(jù)在磁盤和主存儲器之間以塊為單位傳輸。2022-3-877.27.2磁盤磁盤磁盤的塊存取 磁盤的I/O請求指定了要存取的磁盤地址,這個地址是以塊號的形式提供的; 數(shù)據(jù)庫的文件管理器將塊地址轉(zhuǎn)換成硬件層的柱面號、盤面號和扇區(qū)號。數(shù)據(jù)庫緩沖區(qū) 數(shù)據(jù)庫的文件管理器只負責將包含用戶需要的數(shù)據(jù)所在的塊緩存到主存儲器里的數(shù)據(jù)庫緩沖區(qū),或者執(zhí)行相反的操作; 當新的數(shù)據(jù)從磁盤到緩存時,根據(jù)緩沖區(qū)替換策略來安排數(shù)據(jù)的位置。2022-3-887.27.2磁盤磁盤磁盤質(zhì)量的度
4、量標準 容量大小 存取時間: 從發(fā)出讀寫請求到數(shù)據(jù)開始傳輸之間的時間; 存取時間 = 尋道時間 + 旋轉(zhuǎn)等待時間。 數(shù)據(jù)傳輸率: 從磁盤獲得數(shù)據(jù)或者向磁盤存儲數(shù)據(jù)的速率,即I/O吞吐量。 可靠性 性價比2022-3-897.3RAID7.3RAID早期的RAID 經(jīng)濟因素是主要原因,因此: Redundant Arrays of Inexpensive Disks; 中文稱為“廉價磁盤冗余陣列”?,F(xiàn)在的RAID 價格已經(jīng)不是主要因素,而磁盤的性能(數(shù)據(jù)傳輸率)和可靠性是考慮的主要內(nèi)容,因此: Redundant Arrays of Independent Disks; 中文稱為“獨立磁盤冗余陣
5、列”。未來的RAID?真正的百年存儲2022-3-8107.3RAID7.3RAID如何提高磁盤的可靠性? 引入冗余是解決可靠性問題的有效方法: 存儲一些通常情況下不需要的額外信息,這些信息可在發(fā)生磁盤故障時用于重建丟失的信息。實現(xiàn)冗余的方法 實現(xiàn)冗余最簡單、但最昂貴的方法: 復制每一個磁盤,這種技術(shù)稱為磁盤鏡像或磁盤影像; 一個邏輯上的磁盤由兩個物理磁盤組成,并且每一個寫操作都要在兩個磁盤上執(zhí)行。 實現(xiàn)冗余的第二種方法是存儲奇偶校驗位。2022-3-8117.3RAID7.3RAID如何提高磁盤的性能 通過在多個磁盤上對數(shù)據(jù)進行拆分來提高傳輸率,原因是可以對多個磁盤并行存取。拆分的方法 比特
6、級拆分: 數(shù)據(jù)拆分的最簡單形式是將每個字節(jié)按比特位分開,存儲到多個磁盤上。 塊級拆分: 在塊級拆分中,文件的塊被拆分存儲到多個磁盤上。如果有n個磁盤,則文件的第i塊被存儲到第(i mod n) + 1個磁盤上。2022-3-8127.3RAID7.3RAIDRAID級別 鏡像+拆分+奇偶校驗構(gòu)成了RAID的不同方案2022-3-8137.3RAID7.3RAID如何正確選擇RAID級別 由于RAID2和4被RAID3和5所包容,因此只需要在RAID0、1、3、5和6之間作出選擇: RAID0:用于可容忍數(shù)據(jù)丟失的高性能應用; RAID1:用于存儲類似數(shù)據(jù)庫日志的應用,因為它提供了最好的寫性能,
7、同時又保證可靠性; RAID3:用于存儲大量數(shù)據(jù),并提供高的數(shù)據(jù)傳輸率; RAID5:用于存儲大量數(shù)據(jù),且隨機讀的效率很高。大多數(shù)數(shù)據(jù)庫系統(tǒng)都屬于這種情況; RAID6:提供比RAID5更高的可靠性,但很多RAID實現(xiàn)并不支持RAID6。2022-3-8147.47.4第三級存儲第三級存儲傳統(tǒng)上,光盤和磁帶主要用于備份和歸檔數(shù)據(jù),因此它們一般都是離線(off-line)的存儲介質(zhì);隨著數(shù)據(jù)的不斷膨脹,數(shù)據(jù)越來越多,我們稱之為海量信息;在當前,我們主要用光盤塔或磁帶庫來存儲海量信息,并且使它們變成近線(near-line)或在線(on-line)的存儲介質(zhì)。也就是說,跨過二級存儲設(shè)備在內(nèi)存和光盤
8、或磁帶之間直接傳輸數(shù)據(jù)。2022-3-8157.5DBMS7.5DBMS的文件管理器的文件管理器DBMS的物理存儲綜述了解數(shù)據(jù)庫的存儲結(jié)構(gòu)就必須搞清楚: 數(shù)據(jù)庫的文件組織:一個數(shù)據(jù)庫由幾個OS文件構(gòu)成? 文件管理器:是DBMS的還是OS自身的? 數(shù)據(jù)庫文件自身的結(jié)構(gòu)如何?為了能解析每條SQL語句,還必須進一步搞清楚: 文件中記錄的存儲方式與結(jié)構(gòu)如何? 文件中記錄的組織方式如何?2022-3-8167.5DBMS7.5DBMS的文件管理器的文件管理器數(shù)據(jù)庫與文件管理 在小型關(guān)系數(shù)據(jù)庫系統(tǒng)中將各個關(guān)系存儲在一個個獨立的文件中。通常: 文件中的記錄都是定長的,文件結(jié)構(gòu)簡單; 充分利用了作為OS一部分
9、的文件系統(tǒng)的好處。 大型數(shù)據(jù)庫管理系統(tǒng)在文件管理方面并不直接依賴于操作系統(tǒng)。操作系統(tǒng)只分配給DBMS一個大的操作系統(tǒng)文件,所有關(guān)系都存儲在這個大文件中。它的好處是: 有利于提高系統(tǒng)的性能; 空間的分配與管理簡單、靈活,如簇集文件組織2022-3-817SQL SERVER 2000的數(shù)據(jù)庫文件組織 在MS SQL Server 2000中,一個數(shù)據(jù)庫是由三個操作系統(tǒng)文件構(gòu)成的,它們分別是: 主數(shù)據(jù)文件:*.MDF 次數(shù)據(jù)文件:*.NDF 日志文件:*.LDF這些信息都存放在SYSFILES系統(tǒng)表中SQL SERVER 2000的數(shù)據(jù)庫文件管理 上述數(shù)據(jù)庫文件的管理是由SQL Server自己負
10、責的,而不是依賴于Windows的文件系統(tǒng)。 SQL Server有自己的文件管理器。7.5DBMS7.5DBMS的文件管理器的文件管理器2022-3-818DBMS一般不用OS的文件管理器,而是獨立設(shè)計其數(shù)據(jù)庫文件的存儲結(jié)構(gòu),有自己的文件管理器。這有以下5個方面的原因:1.更多功能與附加信息:DBMS為了實現(xiàn)其功能,須在文件目錄、文件描述塊、物理塊等部分附加一些信息;傳統(tǒng)的文件系統(tǒng)是不提供這些信息的2.批處理與即席訪問:傳統(tǒng)的文件系統(tǒng)主要面向批處理;而在DBMS中,往往要求即席訪問、動態(tài)修改:這就要求文件結(jié)構(gòu)能適應數(shù)據(jù)的動態(tài)變化,提供快速訪問路徑。7.5DBMS7.5DBMS的文件管理器的文
11、件管理器2022-3-819DBMS一般不用OS的文件管理器,而是獨立設(shè)計其存儲結(jié)構(gòu),有自己的文件管理器。這有以下5個方面的原因:3. 數(shù)據(jù)共享與并發(fā)控制:傳統(tǒng)的文件基本上是為某一用戶或某類用戶服務的,用途比較單一,共享的程度較低;數(shù)據(jù)庫文件是供所有用戶共享的,有些用途是不可預知的。這就要求數(shù)據(jù)庫文件的結(jié)構(gòu)能兼顧多方面的要求,提供多種訪問路徑,并在:并發(fā)控制故障恢復數(shù)據(jù)安全等7.5DBMS7.5DBMS的文件管理器的文件管理器2022-3-820DBMS一般不用OS的文件管理器,而是獨立設(shè)計其存儲結(jié)構(gòu),有自己的文件管理器。這有以下5個方面的原因:4. 可移植性與實現(xiàn)的可能性:如果采用操作系統(tǒng)的
12、文件管理器作為DBMS的物理層實現(xiàn)的基礎(chǔ),那么DBMS對操作系統(tǒng)的依賴性太大,不利于DBMS的移植;有些操作系統(tǒng),如Unix,只提供字符流的存取功能,不提供各種文件結(jié)構(gòu)和存取路徑,這些只有靠DBMS自身來實現(xiàn)。7.5DBMS7.5DBMS的文件管理器的文件管理器2022-3-821DBMS一般不用OS的文件管理器,而是獨立設(shè)計其存儲結(jié)構(gòu),有自己的文件管理器。這有以下5個方面的原因:5. 數(shù)據(jù)的穩(wěn)定性與動態(tài)變化:傳統(tǒng)的文件一旦建立以后,數(shù)據(jù)量是比較穩(wěn)定的,而且一般只用于只讀的應用;數(shù)據(jù)庫文件的數(shù)據(jù)量變化較大,有些文件在數(shù)據(jù)模式剛定義時幾乎是個空架子,隨著應用的開發(fā),數(shù)據(jù)也不斷地增長:數(shù)據(jù)庫文件的
13、結(jié)構(gòu)應能適應這樣的變化;數(shù)據(jù)庫中的數(shù)據(jù)常常要求是可讀寫的。7.5DBMS7.5DBMS的文件管理器的文件管理器2022-3-822DBMS中文件的管理粒度 DBMS的高層(邏輯層和視圖層)把數(shù)據(jù)看成是“記錄”的集合; DBMS的底層(物理層)在處理I/O問題時,把數(shù)據(jù)看成是“頁”的集合: 具體地說,DBMS的文件管理器把數(shù)據(jù)看成是頁的集合,并且提供分配/回收頁和讀/寫頁的命令; 通常以磁盤塊的大小作為頁的大小,以便在一次磁盤I/O中就能夠完成一頁的讀/寫。數(shù)據(jù)庫文件的頁結(jié)構(gòu) 定長記錄方式 變長記錄方式7.5DBMS7.5DBMS的文件管理器的文件管理器2022-3-8237.67.6數(shù)據(jù)庫文件
14、的結(jié)構(gòu)數(shù)據(jù)庫文件的結(jié)構(gòu)定長記錄方式 記錄的移動引起記錄RID變化。如果有外部引用指向被移動的記錄,如索引,則 2022-3-8247.67.6數(shù)據(jù)庫文件的結(jié)構(gòu)數(shù)據(jù)庫文件的結(jié)構(gòu)變長記錄方式 刪除 移動 適應性2022-3-825SQL SERVER 2000的頁 數(shù)據(jù)頁是表的所有非文本數(shù)據(jù)和圖形數(shù)據(jù)的存儲結(jié)構(gòu); 數(shù)據(jù)頁的固定大小為8KB,即8192字節(jié),其中8096字節(jié)用于存儲數(shù)據(jù),其余的96字節(jié)用于存儲頁結(jié)構(gòu)信息; 數(shù)據(jù)頁由3個主要的部分組成:它們是7.67.6數(shù)據(jù)庫文件的結(jié)構(gòu)數(shù)據(jù)庫文件的結(jié)構(gòu)記錄不能跨頁存儲,它的最大長度是8060字節(jié)!2022-3-826SQL SERVER 2000的文件
15、結(jié)構(gòu) 有一些特殊的元數(shù)據(jù)頁7.67.6數(shù)據(jù)庫文件的結(jié)構(gòu)數(shù)據(jù)庫文件的結(jié)構(gòu)2022-3-827定長記錄 首先考慮由有關(guān)student記錄組成的一個文件。該文件中的記錄定義如下: type student = record student_number: char(10); student_name: char(8); department_name: char(22); end 假設(shè)每個字符占一個字節(jié),那么一個student記錄占40個字節(jié)。 7.77.7記錄的存儲與維護記錄的存儲與維護2022-3-828定長記錄的存儲 用文件的頭40個字節(jié)存儲第一個記錄,接著的40個字節(jié)存儲第二個記錄,依次類推
16、 這種結(jié)構(gòu)的問題是:刪除一條記錄時 要么填充被刪空間 要么標記被刪記錄;除非塊的大小恰好 是40的倍數(shù),否則 記錄會跨塊存儲。7.77.7記錄的存儲與維護記錄的存儲與維護2022-3-829定長記錄的維護 方案一: 刪除一條記錄時,順序移動其后的所有記錄; 插入一條記錄則始終在文件的尾部進行。 方案二: 刪除一條記錄時,移動最后一條記錄到此位置; 而插入一條記錄則始終在文件的尾部進行。7.77.7記錄的存儲與維護記錄的存儲與維護2022-3-830定長記錄的維護 方案三: 刪除一條記錄時,并不著急移動記錄,而是將其加入空閑記錄列表; 當要插入記錄時,使用空閑列表中的記錄空間;若沒有空閑空間就插
17、入到文件的尾部。7.77.7記錄的存儲與維護記錄的存儲與維護額外的結(jié)構(gòu):文件頭指針列2022-3-831變長記錄 造成變長記錄的原因: 多種記錄類型在一個文件中存儲; 記錄類型允許一個或多個字段是變長的; 記錄類型允許可重復的字段。 例如: type course_list = record teacher_name: char(22); course_info: array1. of record course_name: char(30); course_capacity: int; end end 定長部分變長部分7.77.7記錄的存儲與維護記錄的存儲與維護2022-3-832變長記錄的
18、存儲 方法之一:字節(jié)流表示法 在每個記錄的末尾都附加特殊的記錄終止符; 或者是在每個記錄的開頭存儲該記錄的長度。問題:磁盤碎片刪除一條記錄?記錄變長了?記錄變短了?方案:移動記錄的代價7.77.7記錄的存儲與維護記錄的存儲與維護2022-3-833變長記錄的存儲 方法之二:分槽的頁結(jié)構(gòu) 用于物理塊內(nèi)部的記錄組織; 塊頭部分:塊中記錄個數(shù);塊中空閑空間的末尾地址;描述塊中每個記錄的大小和位置的數(shù)組; 塊尾部分:實際記錄從塊的尾部開始連續(xù)存儲; 塊中部分:塊中空閑空間是連續(xù)的。7.77.7記錄的存儲與維護記錄的存儲與維護分槽頁結(jié)構(gòu)的實例?2022-3-834變長記錄的存儲方法之二:分槽頁結(jié)構(gòu)的維護
19、 刪除一條記錄:它所占用的空間被釋放;塊中在此之前的記錄都要移動;而空閑空間還是集中在塊中間。 插入一條記錄:在塊中空閑空間的尾部給這條記錄分配空間。 記錄的增長和縮短:該條記錄的末尾地址不變;在此記錄之前的記錄都要移動;塊的大小有限制,移動記錄的代價并不高。7.77.7記錄的存儲與維護記錄的存儲與維護還要修改?2022-3-835變長記錄的存儲 方法之三:定長表示法 用一個或多個定長記錄來表示一個變長記錄。 由于所采用的策略不同,定長表示法又分為以下幾類: 方法之三(1)-保留空間法 方法之三(2)-指針法 方法之三(3)-錨塊-溢出塊表示法 定長表示法在實際的DBMS當中很少使用,為什么?
20、但至少可以為我們解決其他問題開拓思路!7.77.7記錄的存儲與維護記錄的存儲與維護2022-3-836變長記錄的存儲 方法之三(1):保留空間法 假設(shè)所有的變長記錄都不會超過某個長度,就為每個記錄都分配這樣長度的空間; 缺陷:假設(shè)不合理;浪費大量存儲空間7.77.7記錄的存儲與維護記錄的存儲與維護2022-3-837變長記錄的存儲 方法之三(2):指針法 用一系列通過指針鏈接起來的定長記錄來表示一個變長記錄; 優(yōu)點:與定長記錄類似,變長記錄是一個鏈表; 缺點:引入額外結(jié)構(gòu),浪費存儲空間。7.77.7記錄的存儲與維護記錄的存儲與維護2022-3-838變長記錄的存儲 方法之三(3):錨塊-溢出塊
21、表示法 指針法的變形;文件使用兩種不同的物理塊:錨塊:包含記錄的定長部分和變長部分的第一個分量的塊;溢出塊:包含記錄的變長部分除第一個分量以外的其他分量的塊。7.77.7記錄的存儲與維護記錄的存儲與維護2022-3-839記錄的存儲結(jié)構(gòu) 定長記錄 記錄的字段數(shù)是固定的 每個字段都是定長的應存放在數(shù)據(jù)字典里偏移量7.77.7記錄的存儲與維護記錄的存儲與維護2022-3-840記錄的存儲結(jié)構(gòu) 變長記錄 記錄的字段數(shù)是固定的 某些字段是變長的基地址基地址分槽頁分槽頁結(jié)構(gòu)的結(jié)構(gòu)的偏移量偏移量1、如何定位某個字段?2、如何處理空值NULL?7.77.7記錄的存儲與維護記錄的存儲與維護2022-3-841
22、舉例 SQL Server的數(shù)據(jù)行,即記錄的結(jié)構(gòu) 定長記錄與變長記錄中字段組織方式的結(jié)合7.77.7記錄的存儲與維護記錄的存儲與維護2022-3-842SQL Server的數(shù)據(jù)行結(jié)構(gòu)7.77.7記錄的存儲與維護記錄的存儲與維護2022-3-843SQL Server的數(shù)據(jù)行結(jié)構(gòu) 狀態(tài)位A,即TagA: 位位0 0:版本信息,在SQL Server 2000中該位總是0。 位位1 1到位到位3 3:作為一個3位的值對待0表示該行是一個基本的記錄;1表示該行是一個轉(zhuǎn)向記錄;2表示該行是一個轉(zhuǎn)向存根;3表示該行是一個索引記錄;4表示該行是一塊碎片;5表示該行是一個幽靈索引記錄;6表示該行是一個幽靈
23、數(shù)據(jù)記錄。7.77.7記錄的存儲與維護記錄的存儲與維護2022-3-844SQL Server的數(shù)據(jù)行結(jié)構(gòu) 狀態(tài)位A,即TagA: 位位4 4:表示NULL位圖的存在性;在SQL Server 2000中,即使任何列都不允許NULL值,NULL位圖也總要出現(xiàn);位4的值總為1;NULL位圖能有效地解決空值、空串的問題。 位位5 5:表示行中是否存在變長列。 位位6 6和位和位7 7:在SQL Server 2000中未被使用。7.77.7記錄的存儲與維護記錄的存儲與維護2022-3-845SQL Server的數(shù)據(jù)行結(jié)構(gòu) 列偏移數(shù)組: 一個兩字節(jié)的條目,表示變長列在行中結(jié)束的位置。 在行的定長或
24、變長數(shù)據(jù)塊內(nèi),SQL Server按照創(chuàng)建表時定義的列順序來存儲數(shù)據(jù);這個表的行的定長數(shù)據(jù)部分包括Col1的數(shù)據(jù),后跟Col2和Col4的數(shù)據(jù);行的變長數(shù)據(jù)部分包括Col3的數(shù)據(jù),后跟Col5的數(shù)據(jù)。7.77.7記錄的存儲與維護記錄的存儲與維護2022-3-8467.87.8文件中記錄的組織文件中記錄的組織 在文件中組織記錄的常用方法 堆積的方法 排順的方法 哈希的方法 簇集的方法 層次組織法(B樹類文件組織,下章索引介紹)堆文件組織 一條記錄可以放在文件中的任何地方,只要那個地方有空間存放這條記錄; 記錄是沒有順序的,是堆積起來的。2022-3-8477.87.8文件中記錄的組織文件中記錄的
25、組織 散列文件組織 對文件中每個記錄的同一屬性或?qū)傩约枰嬎阋粋€散列(Hash)函數(shù); 散列函數(shù)的結(jié)果確定了記錄應該存儲到文件的哪個物理塊中; 記錄雖然沒有順序,但是有去向的!2022-3-8487.87.8文件中記錄的組織文件中記錄的組織 順序文件組織 根據(jù)搜索碼值的順序來邏輯存儲記錄; 搜索碼是用于在文件中查找記錄的屬性或?qū)傩约?,與碼的概念完全不同! 為了快速地按搜索碼獲取記錄,通過指針把記錄鏈接起來,每個記錄的指針都指向在搜索碼順序上的下一個記錄; 同時,為了減少順序文件處理中物理塊的訪問次數(shù),在物理上也按搜索碼值的順序存儲記錄,或盡可能地按照搜索碼值的順序來物理存儲。2022-3-8
26、497.87.8文件中記錄的組織文件中記錄的組織 順序文件組織 順序文件組織的好處: 結(jié)構(gòu)清晰,容易理解; 對特定的查詢能快速處理。 順序文件組織的問題: 插入和刪除記錄后,首先要保證記錄按搜索碼的順序重新鏈接起來,但是維護記錄的物理順序則將十分困難; 如果靠移動記錄的方式來維護記錄在物理上的順序,則代價十分昂貴!2022-3-8507.87.8文件中記錄的組織文件中記錄的組織 順序文件的維護 刪除記錄: 用指針鏈表來管理刪除。 插入記錄: 首先定位要插入的記錄按搜索碼值排序時它前面那條記錄; 如果該記錄所在的物理塊內(nèi)有空閑空間,就在這個塊中插入該記錄;否則,將插入到溢出塊中;如果溢出塊中的記
27、錄不多,則這種方式還有效;但記錄的搜索碼順序和物理順序之間的一致性這時,對記錄的順序處理將明顯變得效率低下(隨機I/O),需要對文件進行重組:時機和代價。2022-3-851SQL SERVER 行 偏 移 數(shù)組 指 出 了頁 中 各 記錄 的 邏 輯順序; 記 錄 的 物理 順 序 與其 邏 輯 順序 不 必 完全一致!7.87.8文件中記錄的組織文件中記錄的組織 頁頭:96字節(jié)數(shù)據(jù)行,即記錄176行偏移數(shù)組095Mianus (96)Downtown(136)Brighton(176)Downtown(216)13621696 3 2 1 0頁號:010槽號在物理上也按搜索碼順序存儲記錄,
28、或盡可能地按照搜索碼順序物理存儲:不同的頁之間:009(A)、010(B-M)、011(N-Z);同一頁之間;溢出頁:012(A)。在SQL Server中搜索碼鏈表就是行偏移數(shù)組2022-3-8527.87.8文件中記錄的組織文件中記錄的組織行偏移數(shù)組可以表示行的邏輯順序,與行的物理順序不同;舉例:sp_help studentselect * from studentDBCC TRACEON(3604) GO DBCC PAGE(DB_Teaching,1,132,1) GO2022-3-8537.87.8文件中記錄的組織文件中記錄的組織數(shù)據(jù)行在頁中的真實情況2022-3-8547.87.
29、8文件中記錄的組織文件中記錄的組織 簇集文件組織 問題的提出: 假設(shè)有兩個關(guān)系course和selecting,對于它們的自然連接運算,用SQL表達如下:select student_number, course_name, course_location from course, selecting where course.course_name = selecting.course_name2022-3-8557.87.8文件中記錄的組織文件中記錄的組織 簇集文件組織 問題的解決: 把相關(guān)記錄放在一個塊(或臨近塊)中存儲,一次讀塊操作就取得所有相關(guān)記錄; 減少了磁盤I/O次數(shù),提高了連接的性能。 2022-3-8567.87.8文件中記錄的組織文件中記錄的組織 簇集文件組織 簇集的定義: 把有關(guān)記錄按簇集鍵值集中在一個物理塊內(nèi)或物理上相鄰的區(qū)域內(nèi),以提高某些查詢的速度。 簇集的缺點: 如果改用其他屬性或?qū)傩约龃丶I,將引起所有記錄的移動; 如果一個記錄的簇集鍵值修改了,則這個記錄也要做相應的移動; 如果不是針對簇集
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 體育保險經(jīng)紀AI應用行業(yè)跨境出海項目商業(yè)計劃書
- 個性化T恤定制企業(yè)制定與實施新質(zhì)生產(chǎn)力項目商業(yè)計劃書
- 醫(yī)藥包裝藝術(shù)化營銷行業(yè)深度調(diào)研及發(fā)展項目商業(yè)計劃書
- 全球與2025-2030中國噴霧干燥機行業(yè)銷售策略及消費趨勢預測報告
- 移動支付法規(guī)研究-第1篇-洞察及研究
- 2024年度海南省二級注冊建筑師之建筑結(jié)構(gòu)與設(shè)備提升訓練試卷A卷附答案
- 培訓學校管理心得
- 貴州工程職業(yè)學院《醫(yī)學微生物與臨床微生物檢驗學》2023-2024學年第一學期期末試卷
- 山西同文職業(yè)技術(shù)學院《體育上》2023-2024學年第一學期期末試卷
- 蘇州工業(yè)園區(qū)職業(yè)技術(shù)學院《歐盟政治經(jīng)濟與外交》2023-2024學年第一學期期末試卷
- 腦挫裂傷臨床路徑
- 文明乘坐高鐵(課件)-(25)小學生主題班會通用版
- 【語文】重慶市沙坪壩區(qū)樹人小學一年級下冊期末復習試卷
- 光伏電站遠程監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)
- 科心腦血管事件上報登記表
- 銀行客戶經(jīng)理工作手冊
- 大國工匠課件
- 急性心肌梗死的居家救護和預防侯耀文沒有心臟病史課件
- 個人與央企合作協(xié)議書
- 班組長的選聘、使用、培養(yǎng)、考核、激勵、制度和機制
- 張愛玲及《金鎖記》
評論
0/150
提交評論