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

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

SQLite數(shù)據(jù)庫文件格式分析(B樹的基本組織)

2024-09-07 00:10:03
字體:
供稿:網(wǎng)友
此 分析稱為簡易版,因為后面還計劃分析一個更復雜的數(shù)據(jù)庫文件,以深入理解SQLite數(shù)據(jù)庫B樹實現(xiàn)的結(jié)構(gòu),從簡易的開始不失為一種好的學習方法,這里的 簡易版本文件是指大小為2K字節(jié),即每個B樹頁1K字節(jié),共兩個B樹頁,補充說明一下,這里的B樹頁就是指經(jīng)典數(shù)據(jù)結(jié)構(gòu)書上所講的B樹節(jié)點,在這里稱為頁 是因為SQLite在實現(xiàn)B樹時就是使用頁page的概念來組織的。
創(chuàng)建方法如下:
CREATE TABLE tbl1(one varchar(10),two varchar(10));
INSERT INTO "tbl1" VALUES('first', 'xxx');
INSERT INTO "tbl1" VALUES('second', 'yyy');

然后退出,用UltraEdit打開這個數(shù)據(jù)庫文件:
00000000h: 53 51 4C 69 74 65 20 66 6F 72 6D 61 74 20 33 00 ; SQLite format 3.
00000010h: 04 00 01 01 00 40 20 20 00 00 00 07 00 00 00 00 ; .....@ ........
00000020h: 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 01 ; ................
00000030h: 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 ; ................
00000040h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
00000050h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
00000060h: 00 00 00 00 0D 00 00 00 01 03 B8 00 03 B8 00 00 ; ..........?.?.
00000070h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
這中間部分全部都是零。省去!
000003a0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
000003b0h: 00 00 00 00 00 00 00 00 46 01 06 17 15 15 01 71 ; ........F......q
000003c0h: 74 61 62 6C 65 74 62 6C 31 74 62 6C 31 02 43 52 ; tabletbl1tbl1.CR
000003d0h: 45 41 54 45 20 54 41 42 4C 45 20 74 62 6C 31 28 ; EATE TABLE tbl1(
000003e0h: 6F 6E 65 20 76 61 72 63 68 61 72 28 31 30 29 2C ; one varchar(10),
000003f0h: 74 77 6F 20 76 61 72 63 68 61 72 28 31 30 29 29 ; two varchar(10))
這是第一個B樹頁,這個B樹頁里存放了表sqlite_master的信息,這就是SQLite數(shù)據(jù)庫的系統(tǒng)表了。
下面分析一下這些二進制的具體涵義,SQLite統(tǒng)一采用大端法來表示數(shù)據(jù),不同與一般intel機器的小端法了:
偏移地址 大小 涵義
0 16 "SQLite format 3/000"
16 2 400H=1024個字節(jié),每個頁面的字節(jié)數(shù)
18 2 0101H表示版本號而已
20 1 每頁末端的未用空間,這里為零表示數(shù)據(jù)都是從每頁最后一個字節(jié)開始存放
21 1 最大負載分片數(shù),類似與IP分片,一頁存不下,要分片
22 1 最小負載分片數(shù)
23 1 最小葉子負載分片數(shù)
24 4 文件修改計數(shù),用于實現(xiàn)并行訪問
28 4 保留未用
32 4 第一個freelist頁
36 4 文件中的freelist頁數(shù)
40 60 這里未用
上面的這一百個字節(jié)稱為數(shù)據(jù)庫文件的文件頭,這個文件頭只有第一個B樹頁才有,后面的每一個B樹頁都沒有這個結(jié)構(gòu),后面每一頁結(jié)構(gòu)都相同:
依次為:B樹頁頭結(jié)構(gòu),B樹指針結(jié)構(gòu),未用空間,B樹實際數(shù)據(jù)負載。
這里和經(jīng)典數(shù)據(jù)結(jié)構(gòu)書上的B樹結(jié)構(gòu)有些出入,這里的目的是實際應用方便,而書上的結(jié)構(gòu)目的是解釋清楚B樹的原理。所以有些不同:
一般書上講的一個B樹頁的結(jié)構(gòu)為:指針,數(shù)據(jù),指針,數(shù)據(jù),指針,數(shù)據(jù),...,指針
而SQLite組織為:指針,指針,指針,...,指針,數(shù)據(jù),數(shù)據(jù),...數(shù)據(jù)。
第一個頁面中從00000060h行第五個字節(jié)開始就表示B樹頁頭結(jié)構(gòu)了:
偏移地址 大小 涵義
0 1 0Dh=1101b各位意義為1: intkey, 2: zerodata, 4: leafdata, 8: leaf
1 2 第一個空閑塊的字節(jié)偏移量,這里為0
3 2 01,這個B樹頁存放的記錄數(shù)為1個,即系統(tǒng)表中只存放了一條記錄,因為只創(chuàng)建了一個表tbl1
5 2 負載區(qū)首地址,03B8,往下看到000003b0h行那個46就是負載區(qū)的開始了
7 1 分片數(shù),這里數(shù)據(jù)少,不考慮,所以為0
到0000006Bh偏移處B數(shù)頭結(jié)束了,接下來的就是B數(shù)指針結(jié)構(gòu)了,此處只有一項,只有一個指針03B8h處。
從000003B8h偏移到結(jié)束都是sqlite_master表的實際數(shù)據(jù)了。當然這些數(shù)據(jù)也是有結(jié)構(gòu)的。46h表示這條記錄有70個字節(jié),除去其本身46,和后面的01是索引外,整個記錄剛好是70個字節(jié),01索引后面都是payload負載數(shù)據(jù)了。
如法炮制,下面列出第二個B樹頁:
00000400h: 0D 00 00 00 02 03 E5 00 03 F3 03 E5 00 00 00 00 ; ......?.??...
00000410h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
這中間部分全部為零。省去!
000007d0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................
000007e0h: 00 00 00 00 00 0C 02 03 19 13 73 65 63 6F 6E 64 ; ..........second
000007f0h: 79 79 79 0B 01 03 17 13 66 69 72 73 74 78 78 78 ; yyy.....firstxxx
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
黄色小视频在线免费看| 国产精品久久看| 92裸体在线视频网站| 中出一区二区| 久久久久久久久影视| 综合久久给合久久狠狠狠97色| 欧美午夜不卡在线观看免费| 久久久久久久国产精品影院| 久久久99国产精品免费| 日本亚洲视频在线| 日韩精品免费视频| 亚洲精品视频一区| 成人免费在线视频网| 一区二区三区四区免费视频| 国产成人无码专区| 久久久久久久久久电影| 精品色蜜蜜精品视频在线观看| 国产亚洲欧美日韩在线观看一区二区| 国产精品欧美久久久久无广告| 久久久国产精品网站| 国产又粗又硬视频| 精品人妻一区二区三区换脸明星| 欧洲精品一区色| 午夜两性免费视频| 黄色特一级视频| 色女人在线视频| 青青草原综合久久大伊人精品| 久久精品亚洲人成影院| 欧美精品1区2区| 亚洲免费成人网| 亚洲av永久纯肉无码精品动漫| 麻豆国产传媒av福利| 黄色网页免费在线观看| 国产99re66在线视频| 91亚洲va在线va天堂va国| 国产精品第一页在线观看| 亚洲国产精品一区制服丝袜| 在线不卡日本v二区707| 黄色在线视频观看网站| 致1999电视剧免费观看策驰影院| 成年人视频在线免费观看| 无码人妻av免费一区二区三区| 天堂资源中文在线| 久久裸体视频| 久久久99精品免费观看| 中国色在线日|韩| 国产免费一区二区三区视频| 国产精品jk白丝蜜臀av小说| 久久婷婷久久| 欧美国产精品v| 在线观看中文字幕网站| 欧美精品色网| 午夜欧美视频在线观看| 久久裸体视频| 中文字幕在线看视频国产欧美在线看完整| 精品人妻伦一区二区三区久久| 久艹视频在线免费观看| 国产mv久久久| av电影在线播放高清免费观看| 欧美xxx久久| 日本三级一区二区| 99在线视频免费观看| 日韩av最新在线| 国产精品一区二区免费| 亚洲乱亚洲乱妇无码| 欧美日韩一区 二区 三区 久久精品| 亚洲黄色免费网站| 最新电影电视剧在线观看免费观看| 欧美一卡二卡三卡| 欧美做受xxxxxⅹ性视频| 国产女同91疯狂高潮互磨| 人妻 日韩精品 中文字幕| 亚洲一区二区三区乱码aⅴ| 美女av免费看| 国产精品久久久久国产精品日日| 精品国产一区二区三区麻豆免费观看完整版| 欧美激情在线精品一区二区三区| 免费无码毛片一区二区app| 91麻豆精品视频| 国产精品久久三区| 91免费视频播放| 国产欧美日韩一区二区三区在线观看| 国产亚洲精品福利| 久久精品xxxxx| xxxxx91麻豆| 精产国产伦理一二三区| 国产一区二区精品久| 国产精品久久久久久无人区| 999在线观看| 欧美在线观看成人| 一区二区三区欧美精品| 日本一区二区久久精品| 国产探花一区| 国产精品美女久久福利网站| 成人一区二区在线观看| 91精品国产乱| 91精品久久久久久粉嫩| 9.1麻豆精品| 国产日本欧洲亚洲| 国产亚洲欧美日韩美女| 欧美日本国产视频| 国产精品免费一区二区三区都可以| 哥也色在线视频| jizzjizz免费| 九九热精品视频在线播放| 精品无码av无码免费专区| 第三区美女视频在线| 触手亚洲一区二区三区| 成人欧美一区二区三区在线| 欧美日韩一区二区三区免费看| 亚洲777理论| 国产精品色午夜在线观看| 三上悠亚在线一区| 禁网站在线观看免费视频| 岛国中文字幕| 噜噜噜在线观看播放视频| 亚洲精品一区二区三区在线| 精品无人区麻豆乱码久久久| 97久久精品一区二区三区的观看方式| 91色视频在线导航| 国产私拍精品| 97神马电影| 亚洲成a人片综合在线| 亚洲妇女屁股眼交7| 国产农村妇女精品一区二区| 18禁裸乳无遮挡啪啪无码免费| 亚洲风情在线资源| 中文字幕第八页| 国产精品区一区二区三区| 九色porny蝌蚪视频在线观看| 亚洲三级黄色在线观看| 日本不卡高清视频一区| 污视频网站免费| 国产精品suv一区二区三区| 狠狠色狠色综合曰曰| 久久精品二区| 免费黄色a级片| 国产日韩电影| 香港三日本8a三级少妇三级99| 成人伊人精品色xxxx视频| 一级黄色在线观看| 九九热精品在线| 久久亚洲精精品中文字幕| 最色在线观看| av成人app永久免费| 337p日本欧洲亚洲大胆色噜噜| 韩国午夜理伦三级不卡影院| 夜夜夜精品看看| 美女被c网站| 不卡视频一区二区三区| 在线观看小视频| 青青草在线免费观看| 久久精品嫩草影院| 黄大色黄女片18第一次| 少妇激情一区二区三区视频| 午夜影院免费体验区| 欧美 日韩 激情| 欧美黑人ⅹxxx另类猛交| 日韩另类在线| 国产精品狼人色视频一区| 在线视频国产日韩| www.激情小说.com| 最近的2019中文字幕免费一页| jizz国产| 欧美精品一区三区在线观看| 欧美一区欧美二区| 亚洲第一综合网站| 成人国产精品免费观看动漫| www.xxxx国产| 性史性dvd影片农村毛片| 国产精品免费视频网站| 国产精品久久久久aaaa樱花| 成人在线看视频| 97香蕉超级碰碰久久免费的优势| 国产免费美女视频| √天堂8资源中文在线| 中文字幕中文字幕| 亚洲视频久久| 欧美三级又粗又硬| 欧美大片拔萝卜| 国产乱码久久久久| 精品国自产拍在线观看| 国产精品盗摄久久久| 色爱综合网欧美| 少妇被躁爽到高潮无码文| 麻豆精品99| 日韩美女福利视频| 青青草国产精品一区二区| 日本午夜精品久久久| 老牛国产精品一区的观看方式| 欧美日韩大尺度| 欧美一级淫片免费视频黄| 色综合99久久久无码国产精品| 一区 二区 三区| 成人免费看片视频| 这里只有久久精品视频| 国产传媒欧美日韩成人| 亚洲国产成人久久综合一区| www.日本精品| 午夜在线视频播放| 激情小说亚洲一区| 蜜桃av噜噜一区二区三区小说| 国产毛片毛片| 特级西西444www高清大视频| 成人av午夜电影| 久久99精品波多结衣一区| 91九色视频导航| 狠狠操精品视频| 久久久久久香蕉网| 亚洲色图制服诱惑| av影片在线播放| 99re66热这里只有精品4| 亚洲欧美日韩精品一区二区| 亚洲视频天天射| 国产精品久久久久久免费| 国产真实伦在线观看| 91精品一区二区三区四区| 欧美精选在线| 色www精品视频在线观看| 成人亚洲性情网站www在线观看| 日韩精品一区二区三区中文不卡| 欧洲vs亚洲vs国产| 免费黄色a网站| 欧美极品在线播放| 国产原创一区二区三区| 欧美精品一卡两卡| 五月天免费网站| 国产福利视频一区| 日韩电影免费观看中文字幕| 精品视频在线你懂得| 影音先锋5566资源网| av资源吧首页| 伊人精品成人久久综合软件| 97视频在线观看网址| 国产女主播一区二区| 欧美v国产在线一区二区三区| 男人天堂午夜在线| 国产精品成人**免费视频| 一本大道av一区二区在线播放| 中文字幕一区电影| 另类专区亚洲| 亚洲av成人精品一区二区三区| 国产欧美69| 超碰一区二区三区| 国产成人一级片| 黄色一级视频在线观看| 亚洲特色特黄| 日本妇女一区| 国产无遮挡又黄又爽又色视频| 中文字幕第九页| 国产成人在线精品| 本道综合精品| 福利片在线一区二区| 国产91精品不卡视频| 亚洲人成精品久久久久| 日韩www.| 亚洲av电影一区| 爱福利视频一区| 亚洲欧洲一区二区三区久久| 黑人极品ⅴideos精品欧美棵| 国产午夜精品美女视频明星a级| 污网站在线观看| 黄色在线网站噜噜噜| 亚洲国产成人久久综合一区| 日韩午夜三级在线| 成人美女大片| 樱花草在线观看www| 精品国产导航| 97久久夜色精品国产九色| 国产美女久久久久| 亚洲欧美在线免费| 日韩视频在线免费| 精品自拍视频在线观看| 在线天堂www在线国语对白| 亚洲免费高清视频在线| 91年精品国产| 久久精品国产99精品国产亚洲性色| 欧美理论电影| 日本免费精品视频| 国内外成人免费激情在线视频| 日韩欧美专区在线| 欧美久久一二区| 免费一区二区在线观看| 久久久久久久欧美精品| 亚洲第一狼人社区| 天堂在线观看免费视频| 国产欧美久久久精品影院| 在线视频精品一| 国产高清在线观看| 国产精品视频久久久| 伊人资源视频在线| 亚洲国产欧美国产综合一区| 亚洲精品自拍视频| 日本婷婷久久久久久久久一区二区| 九九热视频这里只有精品| 日韩精品一区不卡| 日韩欧美999| 欧美一区二区视频17c| 情se视频网在线观看| 97精品国产一区二区三区| 人人干人人干人人| 日韩视频1区| 色偷偷一区二区三区| 国产精品一区二区在线观看| 中文字幕在线播| 狠狠网亚洲精品| 午夜在线精品偷拍| 手机在线观看你懂的| 欧美两根一起进3p做受视频| 一区二区三区免费在线| 亚洲一区 欧美| www.66久久| 欧美色视频在线| 国产精品入口麻豆免费看| 国产精品久久久久久久免费观看| 国精产品一区一区三区四川| 国内精品久久久久久久97牛牛| 日韩av综合中文字幕| 亚洲免费在线播放| 亚洲激情自拍偷拍| 一区二区三区四区高清视频| 亚洲精品乱码久久久久久金桔影视| 精品人妻一区二区三区含羞草| 中文字幕av一区二区三区佐山爱| 亚洲精品99久久久久| wwwwww欧美| 久久精品国产sm调教网站演员| 欧美日韩国产综合网|