新聞中心
我們知道,SQL Server中數(shù)據(jù)存儲(chǔ)的基本單位是頁。為數(shù)據(jù)庫(kù)中的數(shù)據(jù)文件(.mdf 或 .ndf)分配的磁盤空間可以從邏輯上劃分成頁(從 0 到 n 連續(xù)編號(hào))。磁盤 I/O 操作在頁級(jí)執(zhí)行。也就是說,SQL Server 讀取或?qū)懭胨袛?shù)據(jù)頁。

成都創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供平度網(wǎng)站建設(shè)、平度做網(wǎng)站、平度網(wǎng)站設(shè)計(jì)、平度網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、平度企業(yè)網(wǎng)站模板建站服務(wù),十載平度做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
平時(shí)在通過SQL Server Profiler 或者打開Statistics IO 選項(xiàng)時(shí)看到物理讀,邏輯度的單位都是頁。
在SQL Server 中,頁的大小為8KB。這意味著SQL Server數(shù)據(jù)庫(kù)中每MB有128 頁。每頁的開頭是96 字節(jié)的標(biāo)頭,用于存儲(chǔ)有關(guān)頁的系統(tǒng)信息。此信息包括頁碼、頁類型、頁的可用空間以及擁有該頁的對(duì)象的分配單元 ID。
下表說明了SQL Server 數(shù)據(jù)庫(kù)的數(shù)據(jù)文件中所使用的頁類型。
| 頁類型 | 內(nèi)容 |
|---|---|
Data |
當(dāng) text in row 設(shè)置為 ON 時(shí),包含除 text、 ntext、image、nvarchar(max)、varchar(max)、varbinary(max) 和 xml 數(shù)據(jù)之外的所有數(shù)據(jù)的數(shù)據(jù)行。 |
Index |
索引條目。 |
Text/Image |
大型對(duì)象數(shù)據(jù)類型:
數(shù)據(jù)行超過 8 KB 時(shí)為可變長(zhǎng)度數(shù)據(jù)類型列:
|
Global Allocation Map、Shared Global Allocation Map |
有關(guān)區(qū)是否分配的信息。 |
Page Free Space |
有關(guān)頁分配和頁的可用空間的信息。 |
Index Allocation Map |
有關(guān)每個(gè)分配單元中表或索引所使用的區(qū)的信息。 |
Bulk Changed Map |
有關(guān)每個(gè)分配單元中自***一條 BACKUP LOG 語句之后的大容量操作所修改的區(qū)的信息。 |
Differential Changed Map |
有關(guān)每個(gè)分配單元中自***一條 BACKUP DATABASE 語句之后更改的區(qū)的信息。 |
在數(shù)據(jù)頁上,數(shù)據(jù)行緊接著標(biāo)頭按順序放置。頁的末尾是行偏移表,對(duì)于頁中的每一行,每個(gè)行偏移表都包含一個(gè)條目。每個(gè)條目記錄對(duì)應(yīng)行的***個(gè)字節(jié)與頁首的距離。行偏移表中的條目的順序與頁中行的順序相反。
數(shù)據(jù)行存儲(chǔ)在頁上,超出頁大小如此。
2個(gè)原則:
表設(shè)計(jì):Row 要占用盡可能短的長(zhǎng)度,占用少的空間,讓一個(gè)page上存儲(chǔ)更多的row,這樣在相同的讀次數(shù)下,獲取到的數(shù)據(jù)就更多了。
查詢:Select的時(shí)候,別動(dòng)不動(dòng)就來個(gè)*,因?yàn)楫?dāng)row 中有Image,text等,或者本身變長(zhǎng)字段vchar等加起來的長(zhǎng)度超過了8k,就會(huì)需要去
ROW_OVERFLOW_DATA 中去讀取一次。增加了讀的開銷。當(dāng)然從網(wǎng)絡(luò)等開銷來說也不建議用* 。
關(guān)于SQL Server數(shù)據(jù)庫(kù)從存儲(chǔ)頁方面的優(yōu)化措施就介紹到這里了,希望本次的介紹能夠?qū)δ兴斋@!
網(wǎng)頁名稱:從物理結(jié)構(gòu)上談一談SQLServer數(shù)據(jù)庫(kù)的優(yōu)化
瀏覽地址:http://www.5511xx.com/article/dhsojoo.html
其他資訊
- 裸金屬服務(wù)器百科(Vultr裸金屬服務(wù)器怎么樣Vultr裸金屬服務(wù)器支持哪)
- Java項(xiàng)目在Linux環(huán)境中的部署詳解 (java項(xiàng)目部署linux)
- 麻煩數(shù)據(jù)庫(kù)的高手,解答一下。在安裝SQLserver2008時(shí)出現(xiàn)了“跨語言安裝”失敗。該怎么設(shè)置才可以解決?(選擇數(shù)據(jù)庫(kù)失敗-虛擬主機(jī)/數(shù)據(jù)庫(kù)問題)
- Linux的完美時(shí)間管理:掌握對(duì)時(shí)命令(linux對(duì)時(shí)命令)
- 企業(yè)管理之路OracleEM開啟企業(yè)管理新時(shí)代


咨詢
建站咨詢
