日本免费精品_最新日韩一区_亚洲视频一区在线_a在线视频观看_天天射夜夜骑_粉嫩av一区二区三区_欧美中日韩免费视频_综合图区欧美_国内精品美女在线观看_午夜精品久久久久久久男人的天堂

首頁 > 數(shù)據(jù)庫 > SQL Server > 正文

SQL Server Page結(jié)構(gòu)深入分析

2024-08-31 01:05:14
字體:
供稿:網(wǎng)友

SQL Server存儲(chǔ)數(shù)據(jù)的基本單元是Page,每一個(gè)Page的大小是8KB,數(shù)據(jù)文件是由Page構(gòu)成的。在同一個(gè)數(shù)據(jù)庫上,每一個(gè)Page都有一個(gè)唯一的資源標(biāo)識(shí),標(biāo)識(shí)符由三部分組成:db_id,file_id,page_id,例如,15:1:8733,15是數(shù)據(jù)庫的ID,1是數(shù)據(jù)文件的ID,8733是Page的編號(hào),Page的編號(hào)從0依次遞增。8個(gè)連續(xù)的Page組成一個(gè)區(qū)(Extent),數(shù)據(jù)文件中已分配(Allocated)的空間被分割成區(qū)的整數(shù)倍。一次磁盤IO操作作用于Page級(jí)別,而空間分配的最小單元是區(qū)。

Page是用于存儲(chǔ)數(shù)據(jù)的,不同類型的Page存儲(chǔ)的數(shù)據(jù)是不同的,Page的結(jié)構(gòu)也是不同的。有些Page是用于存儲(chǔ)數(shù)據(jù)的,叫做Data Page,有些Page是用于存儲(chǔ)索引結(jié)構(gòu)中的中間節(jié)點(diǎn)的,叫做Index Page,有些Page是SQL Server存儲(chǔ)引擎使用的,用于管理Page的,叫做系統(tǒng)頁。本文關(guān)注的是Data Page和Index Page,跟數(shù)據(jù)表有關(guān)。

日志文件沒有Page結(jié)構(gòu),它是由一系列的日志記錄構(gòu)成的。

一,Page的結(jié)構(gòu)

每一個(gè)Page都由 頭部(Header),內(nèi)容(Content)和行偏移量(Offset)組成,頭部是在Page的開始處,占用96Bytes,用于存儲(chǔ)Page的編號(hào),Page的類型,分配單元(Allocation Unit)等系統(tǒng)信息。注:在單個(gè)Page中最多存儲(chǔ)8060Bytes的數(shù)據(jù)。

The maximum amount of data and overhead that is contained in a single row on a page is 8,060 bytes (8 KB).

SQLServer,Page結(jié)構(gòu)

數(shù)據(jù)行存儲(chǔ)在Page Header之后,數(shù)據(jù)行在Page中的物理存儲(chǔ)是無序的,行的邏輯順序是由行偏移(Row Offset)確定的,行偏移存儲(chǔ)在Page的末尾,每一個(gè)行偏移是一個(gè)Slot,占用2B。行偏移連續(xù)排列在Page的末尾,稱作槽數(shù)組(Slot Array)。行偏移以倒序方式存儲(chǔ)行的偏移量,這意味著,從Page末尾向Page 開頭計(jì)數(shù),第一行的偏移量存儲(chǔ)在Page的末尾Slot中,第二行的偏移量存儲(chǔ)在Page末尾的第二個(gè)Slot中。

二,查看Page頭部信息

Page頭部信息存儲(chǔ)的是Page的系統(tǒng)信息,可以使用非正式的命令來查看:

DBCC PAGE(['database name'|database id], file_id, page_number, print_option = [0|1|2|3] )

參數(shù):file_id是數(shù)據(jù)庫文件的ID;page_number是Page在當(dāng)前文件中的編號(hào);print_option是指打印信息的詳細(xì)程度,默認(rèn)值是0,只打印Page Header。

例如,查看資源標(biāo)識(shí)符:15:1:8777733 Page的頭部信息:

dbcc traceon(3604)dbcc page(15,1,8777733)

在我的數(shù)據(jù)庫中,該P(yáng)age的頭部信息(移除Buffer的數(shù)據(jù))如下所示,

PAGE: (1:8777733)PAGE HEADER:Page @0x0000005188B02000m_pageId = (1:8777733)    m_headerVersion = 1     m_type = 1m_typeFlagBits = 0x0    m_level = 0       m_flagBits = 0x220m_objId (AllocUnitId.idObj) = 28503 m_indexId (AllocUnitId.idInd) = 256 Metadata: AllocUnitId = 72057595905900544        Metadata: PartitionId = 72057594059423744        Metadata: IndexId = 1Metadata: ObjectId = 1029578706  m_prevPage = (1:8777732)   m_nextPage = (1:8777734)pminlen = 16      m_slotCnt = 2      m_freeCnt = 4513m_freeData = 3675     m_reservedCnt = 0     m_lsn = (1212327:16:558)m_xactReserved = 0     m_xdesId = (0:799026688)   m_ghostRecCnt = 0m_tornBits = -1518328013   DB Frag ID = 1      Allocation StatusGAM (1:8690944) = ALLOCATED   SGAM (1:8690945) = NOT ALLOCATED PFS (1:8775480) = 0x40 ALLOCATED 0_PCT_FULL       DIFF (1:8690950) = CHANGEDML (1:8690951) = NOT MIN_LOGGED

Page 頭部中各個(gè)字段的含義:

1,Page的編號(hào)

m_pageId = (1:8777733),該P(yáng)age所在的File ID 和Page ID

2,Page的類型

m_type = 1,Page的類型,常見的類型是數(shù)據(jù)頁和索引頁:

1 – data page,用于表示:堆表或聚集索引的葉子節(jié)點(diǎn)
2 – index page,用于表示:聚集索引的中間節(jié)點(diǎn)或者非聚集索引中所有級(jí)別的節(jié)點(diǎn)
其他Page類型(系統(tǒng)頁是管理Page的Page,例如,GAM,IAM等)如下:

3 – text mix page,4 – text tree page,用于存儲(chǔ)類型為文本的大對象數(shù)據(jù)
7 – sort page,用于存儲(chǔ)排序操作的中間數(shù)據(jù)結(jié)果
8 – GAM page,用于存儲(chǔ)全局分配映射數(shù)據(jù)GAM(Global Allocation Map),每一個(gè)數(shù)據(jù)文件被分割成4GB的空間塊(Chunk),每一個(gè)Chunk都對應(yīng)一個(gè)GAM數(shù)據(jù)頁,GAM數(shù)據(jù)頁出現(xiàn)在數(shù)據(jù)文件特定的位置處,一個(gè)bit映射當(dāng)前Chunk中的一個(gè)區(qū)。
9 – SGAM page,用于存儲(chǔ)SGAM頁(Shared GAM)
10 – IAM page,用于存儲(chǔ)IAM頁(Index Allocation Map)
11 – PFS page,用于存儲(chǔ)PFS頁(Page Free Space)
13 – boot page,用于存儲(chǔ)數(shù)據(jù)庫的信息,只有一個(gè)Page,Page的標(biāo)識(shí)符是:db_id:1:9,
15 – file header page,存儲(chǔ)數(shù)據(jù)文件的數(shù)據(jù),數(shù)據(jù)庫的每一個(gè)文件都有一個(gè),Page的編號(hào)是0。
16 – diff map page,存儲(chǔ)差異備份的映射,表示從上一次完整備份之后,該區(qū)的數(shù)據(jù)是否修改過。
17 – ML map page,表示從上一次備份之后,在大容量日志(bulk-Logged)操作期間,該區(qū)的數(shù)據(jù)是否被修改過,This is what allows you to switch to bulk-logged mode for bulk-loads and index rebuilds without worrying about breaking a backup chain.
18 – a page that's be deallocated by DBCC CHECKDB during a repair operation.
19 – the temporary page that ALTER INDEX … REORGANIZE (or DBCC INDEXDEFRAG) uses when working on an index.
20 – a page pre-allocated as part of a bulk load operation, which will eventually be formatted as a ‘real' page.

3,Page在索引中的級(jí)數(shù)

數(shù)據(jù)頁在索引中的索引級(jí)數(shù),m_level=0,表示處于Leaf Level。

對于堆表(Heap),m_level=0表示的是Data Page;
對于聚集索引,m_level=0表示的是Data Page;
對于非聚集索引,m_level=0表示的是葉子節(jié)點(diǎn)

4, Page的元數(shù)據(jù)

Page的元數(shù)據(jù)十分重要,不僅能夠查看處Page所在的Object,甚至能夠查看該P(yáng)age所在的分配單元和分區(qū)ID,在死鎖進(jìn)行故障排除時(shí)十分有用

Metadata: AllocUnitId =72057595905900544,該P(yáng)age所在的分配單元ID(allocation_unit_id)
Metadata: PartitionId =72057594059423744,該P(yáng)age所在的分區(qū)的分區(qū)ID(partition_id)
Metadata: IndexId = 1,該P(yáng)age所在的索引ID
Metadata: ObjectId = 1029578706,用于表示Page所屬對象的object_id
5,page的鏈指針

由于數(shù)據(jù)表的Page并不是單獨(dú)存在的,而是通過雙向鏈?zhǔn)浇Y(jié)構(gòu)連接在一起的,

m_prevPage = (1:8777732) :用于表示前一個(gè)page (FileID : PageID)
m_nextPage = (1:8777734)  :用于表示下一個(gè)page (FileID:PageID)

6, 其他頭部字段

m_slotCnt = 2 :頁面中Slot的數(shù)量,用于Page中存儲(chǔ)的數(shù)據(jù)行數(shù)
m_freeCnt = 4513  :頁面中剩余的空間,單位是字節(jié),還剩83字節(jié)的空間 
m_reservedCnt = 0 :為活動(dòng)事務(wù)保留的存儲(chǔ)空間,單位是字節(jié)
m_ghostRecCnt = 0 :頁面中存在的幽靈記錄的總數(shù)(ghost record count)
關(guān)于Page頭部的信息,可以閱讀《Inside the Storage Engine: Anatomy of a page》;

三,利用Page的元數(shù)據(jù)排除死鎖

Page的元數(shù)據(jù)包含分區(qū)ID,索引ID和對象ID,用戶可以使用這些元數(shù)據(jù),分析死鎖產(chǎn)生的原因。系統(tǒng)追蹤到產(chǎn)生死鎖的資源,可能是一個(gè)Page的資源標(biāo)識(shí)符,如果能夠確認(rèn)發(fā)生死鎖是由于數(shù)據(jù)表或索引的分區(qū)不合理導(dǎo)致的,那么可以重新設(shè)置分區(qū)列,或者設(shè)置分區(qū)邊界值,把單個(gè)分區(qū)拆分成多個(gè)分區(qū),這樣就能把競爭的臨界資源分配到不同的分區(qū)中,避免查詢請求對資源的競爭,進(jìn)而減少死鎖的發(fā)生。

Metadata: PartitionId ,該P(yáng)age所在的分區(qū)的分區(qū)ID(partition_id);
Metadata: IndexId ,該P(yáng)age所在索引ID;
Metadata: ObjectId,用于表示對象的object_id;

 

注:相關(guān)教程知識(shí)閱讀請移步到MSSQL教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
国产日韩三级| 91欧美日韩在线| 亚洲免费中文字幕| 中文字幕日韩视频| 尤物在线精品| 亚洲黄页一区| 欧美日韩在线视频免费观看| 最近中文字幕在线中文高清版| 欧美日韩国产黄色| 国产精品一区二三区| 久久香蕉av| 成人禁用看黄a在线| 亚洲第一精品在线| 午夜影院在线观看欧美| 亚洲一级二级| 中文字幕亚洲一区在线观看| 99久久www免费| 欧美日韩高清一区二区| 日韩一级中文字幕| 91精品婷婷国产综合久久| 不卡一区2区| 久久久久久99精品| 精品日韩一区二区三区免费视频| 久久99久久久欧美国产| 久久精品网站免费观看| aaa欧美日韩| 日韩免费视频一区| 国产999精品在线观看| 日韩精品福利视频| 国产裸舞福利在线视频合集| 久久精品日韩欧美| 一区在线播放视频| 欧美日韩国产在线看| 国产激情久久| 久久激情中文| 亚洲欧美中文字幕在线观看| 国产在线拍偷自揄拍精品| 顶级网黄在线播放| 91久久精品在线| 国产不卡一区二区在线观看| 综合图区亚洲白拍在线| 日韩视频中文| 日韩免费视频一区二区视频在线观看| 日韩精品在线第一页| 国产福利一区在线观看| 精品国产999| 亚洲人成欧美中文字幕| 日韩欧美中文字幕在线观看| 91精品国产91久久久久青草| 日韩影院二区| 日韩欧美亚洲国产一区| 日韩亚洲一区中文字幕| 国产欧美日韩第一页| 日韩高清不卡一区二区| 日韩在线观看视频一区二区| 精品一二三四区| 亚洲娇小xxxx欧美娇小| 久久久99精品久久| www.老鸭窝.com| 91精品国产综合久久香蕉最新版| 免费视频久久| 91精品国产综合久久久久久| 一区二区高清在线| 国产在线中文字幕| 精品婷婷伊人一区三区三| 亚洲 国产 欧美 日韩| 二区三区不卡不卡视频| 午夜伦欧美伦电影理论片| 国产欧美日韩中文久久| 日韩三级视频中文字幕| 欧美日韩国产综合网| 欧洲精品在线视频| 97国产视频| 婷婷综合福利| 日韩欧美中文字幕精品| 亚洲欧美伊人| 国产偷久久久精品专区| 欧美国产91| 一级免费a一片| 欧美大片在线观看一区| 中文字幕欧美日韩在线不卡| 日韩欧美一级视频| 国产高清在线视频| 精品一区二区在线观看视频| 免费一级欧美在线观看视频| 欧美日韩国产第一页| 国产在线观看a| 91精品999| 国产又粗又猛又爽又黄91精品| 亚洲国产一区自拍| xxxcom在线观看| 久久精品在线免费观看| 国产一二三四| 国产日韩中文在线| 国产乱码午夜在线视频| 天堂在线一区二区三区| 日韩av一区二| 精品三区视频| 欧美日韩亚洲天堂| 精品全国在线一区二区| 91精品网站| 影音先锋一区二区资源站| 91www成人久久| 在线中文字幕视频观看| 成人福利一区| 在线视频国产三级| 黄色在线资源| 蜜桃精品视频| 日韩亚洲欧美中文三级| 日韩国产91| 九一久久久久久| 国产激情在线播放| 99精品视频国产| 日韩精品一区二区三区视频播放| 亚洲欧洲日韩在线| 国产www.大片在线| 日韩中文欧美在线| 精品一区二区在线观看视频| 久久精品欧美日韩精品| 欧美激情一区二区在线| eeuss一区| 欧美三级中文字幕在线观看| a√免费观看在线网址www| 亚洲一级网站| 欧美日韩成人综合| 国产日韩精品在线看| 伊人伊成久久人综合网小说| 97最新国自产拍视频在线完整在线看| 91精品999| 国产欧美日韩精品在线| 亚洲一区二区三区精品中文字幕| 最近中文字幕在线中文高清版| 精品中文字幕在线播放| 中文字幕精品国产| 日本啊v在线| 欧美日韩在线观看成人| 日韩高清不卡一区二区| 成人精品视频一区| 91精品国产综合久久久久久| 中文在线日韩| 欧美在线日韩精品| 中文字幕久精品免费视频| 国产视频1区2区| 91精品国产高清久久久久久| 91精品无人成人www| 欧美日韩国产一中文字不卡| 国产手机精品视频| 国产视频二区| 中文字幕在线观看精品| 中文字幕在线观看网址| 91久久精品国产91性色69| 日韩在线视频网| 精品中文字幕视频| 二区视频在线观看| 亚洲一级特黄| 欧美婷婷精品激情| 中文字幕在线观看精品| 欧美日韩高清一区二区不卡| 不卡在线一区二区| 色综合天天综合网国产成人综合天| 又黄又www的网站| 国产在线中文字幕| 一区二区三区视频网站| 久久蜜桃一区二区| av免费在线播放| 国产欧美日韩不卡免费| 97久久精品午夜一区二区| 国产福利在线导航| 在线精品观看| 亚欧成人精品| 中文字幕视频一区二区三区久| 中文亚洲免费| 视频一区二区精品的福利| 欧美亚洲国产日韩2020| 亚洲综合在线小说| 91精品国产综合久久久蜜臀粉嫩| 日韩av一区二区在线观看| 久久久91精品国产| 婷婷精品进入| 久久夜色精品国产欧美乱极品| 国产一区日韩| 欧美日韩视频在线| 精品乱人伦一区二区三区| 一区二区视频在线| 日韩在线中文字幕| 亚洲高清不卡一区| 91久久久久久久久| 欧美日韩综合在线观看| 精品成人久久久| 中文字幕99| 国产一卡2卡3卡4卡网站免费| 国产一级久久久| 精品久久蜜桃| 日韩在线中文| 中文字幕 亚洲视频| 日韩午夜中文字幕| 国产一级一片免费播放| 首页国产欧美久久| 一区二区在线高清视频| 久草视频观看| 日韩在线视频二区| 久久久99精品久久| 香蕉人人精品| 欧美日韩国产在线看| 精品乱人伦一区二区三区| 免费在线视频一级不卡| 亚洲免费在线视频一区 二区| 欧美日韩亚洲综合| 高清一区二区| 国产一区在线观看视频| 青青国产91久久久久久| 精品免费视频| 亚洲免费视频一区| 国产在线www| 久久99精品国产| 91精品国产自产在线| 欧美日韩国产中字| 日韩视频在线一区| 国产一二三四| 久久99久久久久| 国产日韩在线亚洲字幕中文| 在线国产99| 久久riav| 日韩高清不卡一区| 欧美一级欧美三级在线观看| 久久99久久99精品中文字幕| 99日韩精品| 99视频在线看| 国产丝袜欧美中文另类| 日韩黄色在线播放| 91精品国产综合久久久久久| 在线国产1区| 国产网站av| 欧美一级搡bbbb搡bbbb| 国产午夜精品久久| 在线欧美日韩精品| 日韩视频在线一区二区三区| 欧美日韩不卡在线视频| 97久久精品午夜一区二区| 亚洲综合三区| 国产激情久久| 日韩欧美999| 91精品在线观| 日韩欧美99| 久久手机免费观看| 亚洲免费看av| 91精品在线国产| 日韩精品在线免费播放| 日韩字幕在线观看| 精品国内自产拍在线视频| 亚洲影视资源网| 99视频一区| 日韩av一区二区在线| 日韩av中文字幕一区| 中文字幕久久av| 中文字幕欧美亚洲| 欧美激情一区二区三区在线| 在线免费视频一区二区| 久久精品在线观看| 久久电影国产免费久久电影| 欧美日韩性视频一区二区三区| 欧美日韩视频免费| 国产黄色小视频| 欧美久久综合性欧美| 精品久久久久久无| www.狠狠| 日韩视频精品在线观看| 日韩欧美国产免费播放| 国产乱国产乱老熟300部视频| 国产三级视频网站| 久草视频观看| 91精品国产91久久久久久久久 | 国产乱国产乱300精品| 久久夜色精品国产噜噜亚洲av| 国产91大片| 一区二区在线看| 日韩精品免费视频一区二区三区| 久久欧美中文字幕| 久久中文精品| 日韩欧美国产一二三区| 欧美日韩高清在线一区| 国产亚洲福利| 国产丝袜在线播放| 日韩精品视频在线观看视频| 欧美日韩高清| 91精品日本| 午夜一区二区三区| 日韩视频在线免费看| 国产999在线观看| 国产一二三四| 91麻豆免费视频网站| 国产午夜精品全部视频播放| 日韩欧美中文字幕在线观看| 国产一卡2卡3卡四卡网站| 久久精品久久精品国产大片| 国产农村妇女精品一二区| 国产日韩三级| 中文在线一区二区| 在线免费视频一区二区| 日韩视频精品在线| 91精品久久久久久久久久| 中文字幕亚洲一区二区av在线| 亚洲视频资源在线| 国产日韩精品视频| 精品熟女一区二区三区| 日韩在线视频精品| 999视频精品| 五月综合激情日本mⅴ| 国产一卡2卡3卡4卡网站免费| 日韩欧美亚洲区| 国产成人精品日本亚洲专区61 | 综合图区亚洲白拍在线| 欧美 日韩 国产 高清| 久久久综合av| 日韩av一区二| 91午夜在线| 97视频在线| 中文字幕亚洲字幕| 亚洲视频 中文字幕| 亚洲综合在线不卡| 中文字幕在线观看国产| 国产对白在线| 国产激情99| 91精品国产综合久久香蕉最新版| 日韩美女视频一区二区在线观看| 久草视频观看| 亚洲福利在线视频| 国产一级片播放| 日韩在线播放一区二区| 久久精品99国产国产精| 精品亚洲国内自在自线福利| 中文字幕综合在线| 欧美三级在线播放| 色屁屁一区二区| 日韩免费精品视频| 国内精品露脸在线视频播放| 日韩精品一二三四区| 欧美日韩国产一区| 国产成人精品亚洲| 欧洲精品在线视频| 国产欧美日韩高清| 国产中文在线| 中文字幕欧美国内| 日韩久久不卡| 国产三级视频在线播放线观看| 区日韩二区欧美三区| 国产欧美日韩在线看| 欧美三级网址| 国产亚洲一区字幕| 亚洲一区在线观看网站| 国产99在线 | 亚洲| 久久夜色精品国产欧美乱极品 | 国产高清精品在线| 亚洲欧洲精品在线| 日韩.欧美.亚洲| 天天综合色天天| 欧美中文字幕在线观看视频| 又黄又www的网站| 欧美一级一级性生活免费录像| 欧美另类久久久品| 最新中文在线视频| 欧美日韩国产一二| 久久精品一二三| 本道综合精品| 欧美日韩精品在线 | 91精品久久久久| 欧美久久久精品| 精品视频资源站| 7799精品视频天天看| 精品熟女一区二区三区| 国产在线导航| 91精品视频国产| 国产123在线| 日韩精品a在线观看91| 欧美日韩精品久久久| 日韩专区视频网站| 久久久精品福利| 蜜桃精品视频| 欧美一卡2卡三卡4卡5免费| 91精品国产综合久久久久久漫画 | 天天综合色天天| 亚洲午夜久久| 在线一区免费| 中文字幕在线观看欧美| 福利一区二区| 激情久久99| 一区三区二区视频| 日韩一级精品| 国产日韩av高清| 日本精品在线| 国产日韩精品在线看| 国产三级精品在线观看| 国产三级在线观看视频| 国产欧美日韩在线观看| 中文字幕五月欧美| 免费视频久久| 国产欧美日韩中文字幕在线| 欧美日韩综合视频网址| 欧美一级二级三级区| 欧美日韩高清在线|