亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > SQL Server > 正文

SQL Server Page結構深入分析

2024-08-31 01:05:14
字體:
來源:轉載
供稿:網友

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

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

日志文件沒有Page結構,它是由一系列的日志記錄構成的。

一,Page的結構

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

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結構

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

二,查看Page頭部信息

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

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

參數:file_id是數據庫文件的ID;page_number是Page在當前文件中的編號;print_option是指打印信息的詳細程度,默認值是0,只打印Page Header。

例如,查看資源標識符:15:1:8777733 Page的頭部信息:

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

在我的數據庫中,該Page的頭部信息(移除Buffer的數據)如下所示,

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 頭部中各個字段的含義:

1,Page的編號

m_pageId = (1:8777733),該Page所在的File ID 和Page ID

2,Page的類型

m_type = 1,Page的類型,常見的類型是數據頁和索引頁:

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

3 – text mix page,4 – text tree page,用于存儲類型為文本的大對象數據
7 – sort page,用于存儲排序操作的中間數據結果
8 – GAM page,用于存儲全局分配映射數據GAM(Global Allocation Map),每一個數據文件被分割成4GB的空間塊(Chunk),每一個Chunk都對應一個GAM數據頁,GAM數據頁出現在數據文件特定的位置處,一個bit映射當前Chunk中的一個區(qū)。
9 – SGAM page,用于存儲SGAM頁(Shared GAM)
10 – IAM page,用于存儲IAM頁(Index Allocation Map)
11 – PFS page,用于存儲PFS頁(Page Free Space)
13 – boot page,用于存儲數據庫的信息,只有一個Page,Page的標識符是:db_id:1:9,
15 – file header page,存儲數據文件的數據,數據庫的每一個文件都有一個,Page的編號是0。
16 – diff map page,存儲差異備份的映射,表示從上一次完整備份之后,該區(qū)的數據是否修改過。
17 – ML map page,表示從上一次備份之后,在大容量日志(bulk-Logged)操作期間,該區(qū)的數據是否被修改過,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在索引中的級數

數據頁在索引中的索引級數,m_level=0,表示處于Leaf Level。

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

4, Page的元數據

Page的元數據十分重要,不僅能夠查看處Page所在的Object,甚至能夠查看該Page所在的分配單元和分區(qū)ID,在死鎖進行故障排除時十分有用

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

由于數據表的Page并不是單獨存在的,而是通過雙向鏈式結構連接在一起的,

m_prevPage = (1:8777732) :用于表示前一個page (FileID : PageID)
m_nextPage = (1:8777734) ?。河糜诒硎鞠乱粋€page (FileID:PageID)

6, 其他頭部字段

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

三,利用Page的元數據排除死鎖

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

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

 

注:相關教程知識閱讀請移步到MSSQL教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
午夜福利123| 久久综合九色综合久久久精品综合| 欧美日韩国产中文| 麻豆国产视频| 午夜精品蜜臀一区二区三区免费| xfplay资源站夜色先锋5566| 欧美日韩中文字幕在线| 色偷偷男人天堂| 国产久一道中文一区| 一区二区三区中文| 九九这里只有精品视频| 亚洲欧洲日韩av| 国内露脸中年夫妇交换精品| 99久久精品免费看国产交换| 99久免费精品视频在线观看| 国内精品久久久久久久影视蜜臀| 精品一区电影| 中文乱码免费一区二区| 在线视频综合导航| 久久久无码中文字幕久...| 婷婷国产v国产偷v亚洲高清| 亚洲激情社区| 日韩在线中文字幕视频| 在线电影一区二区| 久久久久久国产精品美女| 精品久久久久久久一区二区蜜臀| 一区二区视频在线免费观看| 国产一级黄色片免费| 醉酒壮男gay强迫野外xx| 亚洲一区二区三区乱码| 国产成人香蕉在线视频网站| 香蕉成人伊视频在线观看| 国产一级片免费观看| 影音先锋中文字幕影院| 狠狠操视频网站| 精品久久国产97色综合| 久久久久久国产三级电影| 国产美女高潮久久白浆| 亚洲日本中文字幕免费在线不卡| 欧美性猛交xxxx富婆| 国产精品99精品一区二区三区∴| 欧美拍拍视频| 国产毛片av| 999国产精品亚洲77777| 黄色大片免费观看| 久草视频在线免费| 日韩欧美精品一区二区综合视频| 波多野结衣在线观看一区| 综合网日日天干夜夜久久| 日韩毛片在线免费看| 成人直播大秀| 欧美激情视频网站| 国产私人影院| 播金莲一级淫片aaaaaaa| 久久久久久久久久久福利| 亚洲久久久久久久久久久| 4438欧美| 特级丰满少妇一级aaaa爱毛片| 99re6这里只有精品视频在线观看| 国产精品一级片在线观看| 双性尿奴穿贞c带憋尿| 亚洲午夜在线电影| 亚洲欧美视频一区二区| 日韩av电影资源网| 人妻精品久久久久中文字幕69| 大j8黑人w巨大888a片| 久久精品国产2020观看福利| 午夜免费久久看| 国产一级揄自揄精品视频| 福利网址在线| 日韩久久久久久久久久久久久| 人人人妻人人澡人人爽欧美一区| 日本一区免费看| 欧美日韩免费观看一区二区三区| 在线播放91灌醉迷j高跟美女| 91传媒视频在线观看| 国产区一区二区三区| 日本人妻伦在线中文字幕| 日本成人精品视频| 波多野结衣先锋影音| 欧美丰满美乳xxⅹ高潮www| 日韩中文字幕欧美| 久久久久免费看黄a片app| 亚洲黄色小说网| jvid福利写真一区二区三区| 国产综合婷婷| 午夜视频一区在线观看| 中文字幕亚洲情99在线| 婷婷亚洲婷婷综合色香五月| 久久精品ww人人做人人爽| 久久久一区二区| 欧美一级在线观看| 热久久精品国产| 久久久精品区| 91国偷自产一区二区三区观看| 91伊人久久| 国产精品a成v人在线播放| 亚洲区小说区图片区qvod按摩| 999热视频在线观看| 91精品国产综合久久婷婷香蕉| 亚洲午夜网未来影院| 欧美xxxx14xxxxx性爽| 国产欧美一区二区三区另类精品| 99久热re在线精品996热视频| 国产av天堂无码一区二区三区| 夜夜骑日日射| 国产成人精品综合久久久| 欧美色男人天堂| 九热这里只有精品| 国产美女黄色| 欧美草逼视频| 66精品视频在线观看| 国产河南妇女毛片精品久久久| 美女爆乳18禁www久久久久久| 国产精品亚洲欧美一级在线| 国产精品一区二区三区在线免费观看| 最新日韩中文字幕| 亚洲一卡二卡三卡四卡无卡久久| 亚洲区免费影片| 麻豆视频免费在线播放| 台湾无码一区二区| 97视频在线观看免费| 亚洲一区二区三区激情| 亚洲精品日韩av| 久久久久久久久久久电影| 8848成人影院| 欧美三级网页| jizzjizz亚洲中国少妇| 寂寞少妇一区二区三区| 国产精品女主播一区二区三区| 一区二区三区精品在线| 亚洲激情第一页| 国产三级在线观看视频| 欧美日夜夜逼| 免费在线观看精品| 日韩网红少妇无码视频香港| 久久久久久免费观看| 在线播放日韩av| 国模私拍视频在线| 欧美日韩在线视频首页| 日本高清成人免费播放| 亚洲成av人片在线| 黄色的视频在线观看| 欧美性20hd另类| 国产精品日韩精品中文字幕| 2019最新中文字幕| 久艹在线免费观看| 狠狠操视频网| eeuss网址直达入口| 99久久这里有精品| 黄色资源网久久资源365| 亚洲一区二区美女| 蜜桃免费在线| 少妇精品视频一区二区免费看| 亚洲美腿欧美激情另类| 亚洲五码中文字幕| 视频一区日韩精品| xxxx在线视频| 免费在线观看国产精品| 中文字幕网址在线| 久久精品一区二区三区不卡免费视频| 国产精品一区二区久久久| 欧美xxxx做受欧美护士| 亚洲成人激情在线观看| 波多野结衣家庭教师视频| 久久先锋资源| 国产麻豆精品一区二区三区v视界| a级片在线观看免费| 成人午夜精品福利免费| 久久婷婷久久| a在线播放不卡| 欧美一区二区影视| 午夜久久久久久久久久一区二区| www.久久久| 日韩电影在线观看中文字幕| 国产一二三四视频| 香蕉97视频观看在线观看| av资源新版天堂在线| 欧美丝袜丝交足nylons图片| 97超碰人人看人人| 久久久99免费| xxxxx性欧美特大| 狠狠综合久久av一区二区蜜桃| 9i看片成人免费高清| 欧美激情一区三区| 色嗨嗨av一区二区三区| 婷婷精品久久久久久久久久不卡| 欧美日韩国产一区二区三区不卡| 91精品店在线| 乱人伦中文字幕在线zone| 日本成人免费在线观看| 国产69精品久久777的优势| 精品va天堂亚洲国产| 日本午夜一区| 99re6在线精品视频免费播放| 色噜噜狠狠一区二区三区狼国成人| 亚洲国语精品自产拍在线观看| 亚洲av综合一区| 国产草草浮力影院| 成人mm视频在线观看| 久久久久毛片| 国产一区在线精品| 91久久线看在观草草青青| 亚洲天堂二区| 亚洲黄色录像片| 亚洲AV无码成人精品区明星换面| 亚洲日韩中文字幕一区| 路边理发店露脸熟妇泻火| 黄色网页免费在线观看| 羞羞视频在线免费国产| 五十路六十路七十路熟婆| 69堂精品视频| 国产亚洲精品成人a| 91在线精品秘密一区二区| 91成人国产综合久久精品| 久久99久久99精品蜜柚传媒| 久热综合在线亚洲精品| 亚洲一级影院| 中文亚洲av片在线观看| 四虎影视18库在线影院| 韩国专线一区二三区| 久久久亚洲影院你懂的| ㊣最新国产の精品bt伙计久久| 亚洲精品在线观看av| 香港三级日本三级a视频| 水蜜桃一区二区三区| 在线91av| 久草视频精品在线| 99re只有精品| zzijzzij亚洲日本成熟少妇| 日韩专区视频| 久久一区视频| 最新亚洲激情| xxx在线视频| 精品国产欧美一区二区三区成人| 免费一区视频| 免费看国产片在线观看| 久久99久国产精品黄毛片入口| 国产高清在线免费观看| 日韩中文字幕视频在线| 亚洲一二三精品| 亚洲视频在线观看不卡| 最近2019中文字幕一页二页| 精品乱码一区二区三区| 国产福利一区二区精品秒拍| 欧美久久久久久久久久久久久久| 视频免费在线观看| 欧美精品久久一区二区| 欧洲亚洲精品久久久久| 日本毛片在线观看| 日韩网址在线观看| 一级毛片免费视频| 午夜精品久久久久| 日韩美女免费观看| 黄色一级片在线观看| 久久女同精品一区二区| 亚洲色精品三区二区一区| 欧美9999| 亚洲免费视频在线观看| 亚洲美女综合网| 91亚洲国产| 国内精品卡一卡二卡三| 中文一区二区完整视频在线观看| 日本片在线观看| 国产成人免费在线观看不卡| 亚洲日韩欧美视频| 在线观看成人免费视频| 无遮挡的视频在线观看| 久久影院模特热| 国内一级毛片| 2017亚洲天堂| 尤物99国产成人精品视频| 欧美人狂配大交3d怪物一区| 国产精品av免费| 午夜电影一区二区| 日日摸日日添日日躁av| 中文字幕av第一页| 成人午夜免费福利| 国产又粗又长免费视频| 免费三片60分钟| 国产高清不卡视频| 亚洲人av在线影院| 色哟哟一一国产精品| 超碰免费在线公开| 粉嫩av一区二区三区四区五区| 免费人成黄页在线观看忧物| 国产乱码精品一区二区三区五月婷| 天堂蜜桃91精品| 西西444www无码大胆| 91爱爱小视频k| 青青影院在线观看| 一区二区三区视频在线看| 亚洲精品亚洲人成在线观看| 日本sm极度另类视频| 中文在线资源| 国产性网软件大全| 国产又大又粗又爽的毛片| 午夜影院免费观看视频| 亚洲国产精品美女| 欧美一区在线观看视频| 日韩三级电影网站| 国产精品视频中文字幕| 日韩成人午夜电影| silk一区二区三区精品视频| 奇米视频7777| 亚洲调教视频在线观看| 私密视频在线观看| 奇米网人体黄视频| 亚洲 欧美 综合 另类 中字| 日本成人免费视频| 国产黄色麻豆视频| 亚洲成av人片在线观看无| 成人高清免费| baoyu135国产精品免费| 欧美有码在线视频| 久久r这里只有精品| 黄色小说综合网站| 激情欧美一区二区三区在线观看| 欧美尺度大的性做爰视频| 中文字幕亚洲精品乱码| 强开小嫩苞一区二区三区网站| julia一区二区中文久久94| 99九九99九九九99九他书对| 超碰影院在线| 亚洲精品国产精品粉嫩| 久久黄色免费看| 久久蜜桃精品| 色偷偷av亚洲男人的天堂|