Ô´ÂëÍø×ÊÁÏÏÂÔØ£ºwww.codepub.com 0X00000007£ºÎªPtr(0)£¬Ö¸ÏòµÚ7Ò³¡£
0X0A£ºPayloadÊý¾ÝµÄ×Ö½ÚÊý¡£Êý¾Ý´Ó03~0F¡£ 0X03£º¼Ç¼ͷ°üÀ¨3¸ö×Ö½Ú¡£
0X19£º×Ö¶Î1¡£TEXT£¬³¤¶ÈΪ£º(25-13)/2=6¡£×Ö¶ÎֵΪ£ºcookie¡£
0X01£º×Ö¶Î2¡£ÕûÊý£¬³¤¶ÈΪ1¡£×Ö¶ÎֵΪ£º0X0F£¬±íʾË÷ÒýÖµcookieËù¶ÔÓ¦¼Ç¼µÄ¹Ø¼üÖµ(¼´¼Ç¼µÄrowidÖµ)Ϊ15¡£
×¢£ºÈç¹ûÊÇͨ¹ýË÷Òý×ֶβéÕÒ¡°cookie¡±£¬ÏÖÔھͿÉÒÔ°´ÆärowidÖµ=15µ½Êý¾ÝB+treeÊ÷ÖÐÈ¥¼ìË÷¼Ç¼µÄÈ«²¿Êý¾ÝÁË¡£
0X03DCµ¥ÔªµÄÄÚÈÝÈçÏ£º(ͼÖÐÉîÀ¶É«²¿·Ö)
0X00000008£ºÎªPtr(1)£¬Ö¸ÏòµÚ8Ò³¡£
0X10£ºPayloadÊý¾ÝµÄ×Ö½ÚÊý¡£Êý¾Ý´Ó03~21¡£ 0X03£º¼Ç¼ͷ°üÀ¨3¸ö×Ö½Ú¡£
0X25£º×Ö¶Î1¡£TEXT£¬³¤¶ÈΪ£º(37-13)/2=12¡£×Ö¶ÎֵΪ£ºPeach Muffin¡£
0X01£º×Ö¶Î2¡£ÕûÊý£¬³¤¶ÈΪ1¡£×Ö¶ÎֵΪ£º0X21£¬±íʾË÷ÒýÖµPeach MuffinËù¶ÔÓ¦¼Ç¼µÄ¹Ø¼üֵΪ33¡£
3.3 Ë÷ÒýÒ³µÄÒ¶×ÓÒ³¸ñʽ
¶ÔÓÚB-treeÀ´Ëµ£¬ÄÚ²¿Ò³ÓëÒ¶×ÓÒ³µÄ¸ñʽ²î±ðÆäʵ²»´ó¡£¼òµ¥·ÖÎöһϣ¬ÎªÁËÑéÖ¤ÉÏÒ»½ÚµÄ½á¹û¡£
ÎļþµÚ8ҳǰ°ë²¿·ÖµÄÄÚÈÝÈçÏ£º
ҳͷµÄµÚ1¸ö×Ö½ÚֵΪ0X0A£¬ËµÃ÷¸ÃҳΪB-treeµÄÒ¶×ÓÒ³¡£ÆäËü²»ÔÙÏêÊö¡£
µ¥ÔªÄÚÈÝÇøµÄ¿ªÊ¼²¿·ÖÄÚÈÝÈçÏ£º
µ¥ÔªÄÚÈÝÇøµÄ¿ªÊ¼ºÍ½áÊø²¿·ÖÄÚÈÝÈçÏ£º
²»ÔÙÏêϸ·ÖÎöÁË£¬´Ö¿´¿ÉÒÔ¿´³ö£º
´ËÒ³¼Ç¼µÄË÷Òýֵȷʵ¶¼ÔÚcookieºÍPeach MuffinÖ®¼ä£¬²»°üÀ¨ÕâÁ½¸öÖµ(ÕâÁ½¸öÖµÒѾÔÚ¸ùÒ³ÖÐÁË)¡£µ¥ÔªÊý¾Ý¶¼°´Ë÷ÒýÖµ´óСÅÅÐò¡£
ÏÂÔØÔ´Âë¾Íµ½Ô´ÂëÍø£¬www.codepub.com
Ô´ÂëÍø×ÊÁÏÏÂÔØ£ºwww.codepub.com 4 Ë鯬¡¢×ÔÓÉ¿éºÍ¿ÕÏÐÒ³
µ½Ä¿Ç°ÎªÖ¹£¬ÎÒÃÇÖ»¶ÔÊý¾Ý¿â±í½øÐÐÁ˲åÈë²Ù×÷£¬Òò´Ë£¬Îļþ¸ñʽ»¹ÊǺܡ°ÕûÆë¡±µÄ¡£Èç¹û¶ÔÊý¾Ý¿â½øÐÐɾ³ýºÍÐ޸IJÙ×÷£¬¾Í»á²úÉúË鯬¡¢×ÔÓÉ¿éºÍ¿ÕÏÐÒ³¡£±¾ÎÄ1.2½ÚºÍ1.3½Ú¶ÔÏàÓ¦µÄ¸ÅÄîÓнÏÏêϸ½éÉÜ£¬±¾Õ¾ÍËãÊǶÔǰÊöÄÚÈݵÄÀýÖ¤°É¡£
4.1 Ë鯬
Ö´ÐÐÏÂÃæµÄupdateÓï¾ä£¬Ã¿Ö´ÐÐÒ»¾ä¶¼½«Ô¼Ç¼µÄname×ֶγ¤¶È¼õÉÙ2×Ö½Ú(¿ÉÓëǰÎĵÄinsertÓï¾ä¶ÔÕÕ)¡£
update foods set name='Bavarian Cream P' where id=3;
Ö´ÐÐÍêÉÏÃæÓï¾äºó£¬ÎļþµÚ3Ò³µÄҳͷÄÚÈÝÈçÏÂͼËùʾ£º
¿ÉÒÔ¿´µ½£¬Æ«ÒÆÎª7µÄ×Ö½ÚÖµ±ä³ÉÁË2£¬ËµÃ÷µ±Ç°Ò³ÖÐÓÐ2×Ö½ÚµÄË鯬¡£ÔÙÖ´ÐÐÏÂÃæÓï¾ä£º update foods set name='Bear Cla' where id=4;
¿ÉÒÔ¿´µ½µ±Ç°Ò³ÖеÄË鯬×Ö½ÚÊýÒѾ±ä³ÉÁË4£¬ÈçÏÂͼËùʾ£º
ÖÁÓÚË鯬×Ö½ÚÊýµ½¶à´ó²Å»áÕûÀí£¬ÕâµÃ·ÖÎöÔ´³ÌÐòÁË¡£
4.2 ×ÔÓÉ¿é
Ö´ÐÐÏÂÃæÉ¾³ýÓï¾ä£º
delete from foods where id=5; ÎļþµÚ3Ò³µÄҳͷÄÚÈÝÈçÏ£º
¿ÉÒÔ¿´µ½£¬µÚ1¸ö×ÔÓÉ¿éµÄÆ«ÒÆÁ¿Îª0X0396¡£ ¹Û²ì0X0396´¦µÄµ¥Ôª£¬Êý¾ÝÈçÏÂͼËùʾ£º
µ¥ÔªµÄǰ2¸ö×Ö½ÚÖ¸ÏòÏÂÒ»¸ö¿ÕÏп飬´Ë´¦ÖµÎª0£¬±íʾûÓÐÏÂÒ»¸ö¿ÕÏпéÁË¡£ 0X001E±íʾ¸Ã¿ÕÏпéµÄ´óС£¬´ÓÊýÖµÉÏÀ´·ÖÎö£¬Ó¦¸ÃÊǰüº¬ÁËÕâÁ½¸ö×Ö½Ú±¾Éí¡£ Èç¹ûÔÙɾ³ý1Ìõ¼Ç¼£¬¾Í¿ÉÒÔ¿´µ½×ÔÓÉ¿éÊÇÈçºÎ´®½ÓµÄ£¬ÎÒÃǾͲ»×öÁË¡£
4.3 ¿ÕÏÐÒ³
Ö´ÐÐÏÂÃæÉ¾³ýÓï¾ä£º
delete from foods where id>10; Îļþ´óСÈÔΪ9K£¬µ«´ËʱÎļþÖÐÓ¦¸ÃÓÐÁË6¸ö¿ÕÏÐÒ³(Ë÷ÒýºÍÊý¾Ý¶¼Ö»ÐèÒªÒ»¸öÒ³¾ÍÄÜ·ÅÏÂÁË)£¬·Ö±ðÊÇÒ³3¡¢4¡¢5¡¢7¡¢8ºÍÒ³9¡£ ¹Û²ì´ËʱµÄÎļþÍ·£¬ÄÚÈÝΪ£º
ÏÂÔØÔ´Âë¾Íµ½Ô´ÂëÍø£¬www.codepub.com
Ô´ÂëÍø×ÊÁÏÏÂÔØ£ºwww.codepub.com
×¢ÒâÆäÖÐÉîÀ¶É«²¿·Ö£¬¿ÉÒÔ¿´µ½£¬Æ«ÒÆÎª32µÄ4¸ö×Ö½ÚÖÐֵΪ0X00000005£¬±íʾ¿ÕÏÐÒ³Á´±íÊ×Ö¸ÕëÖ¸ÏòµÚ5¸öÒ³¡£¶ÔÁË£¬¾ÍÓ¦¸ÃÊǵÚ5¸öÒ³ÏÈ¿ÕÏгöÀ´¡£
Æ«ÒÆÎª36µÄ4¸ö×Ö½ÚÖÐֵΪ0X00000006£¬±íʾÎļþÖпÕÏÐÒ³µÄÊýÁ¿Îª6¡£
ÏÖÔڵýéÉÜһϿÕÏÐÒ³Á´±íµÄ¸ñʽÁË¡£ ¿ÕÏÐÒ³ÓÐÁ½ÖÖÀàÐÍ£ºtrunk page(Ö÷¸ÉÒ³)ºÍleaf page(Ò¶×ÓÒ³)¡£ÎļþÍ·Æ«ÒÆÎª32´¦µÄÖ¸ÕëÖ¸Ïò¿ÕÏÐÁ´±íµÄµÚÒ»¸ötrunk page£¬Ã¿¸ötrunk pageÖ¸Ïò¶à¸öÒ¶×ÓÒ³¡£Æ«ÒÆ36´¦µÄ4¸ö×Ö½ÚΪ¿ÕÏÐÒ³µÄ×ÜÊýÁ¿£¬°üÀ¨ËùÓеÄtrunk pageºÍleaf page¡£¿ÕÏÐÒ³Á´±íµÄ½á¹¹ÈçÏÂͼËùʾ£º
ÎļþÍ· ¿ÕÏÐÒ³Á´±íÊ×Ö¸Õë trunk page ÏÂÒ»¸ötrunk page leaf pageÊýÁ¿ ¡ trunk page ÏÂÒ»¸ötrunk page leaf pageÊýÁ¿ ¡ ¡ trunk page ÏÂÒ»¸ötrunk page leaf pageÊýÁ¿ ¡ leaf page leaf page ¡ leaf page ÆäÖУ¬trunk pageµÄ¸ñʽ(´ÓÒ³µÄÆðʼ´¦¿ªÊ¼)ÈçÏ£º
(1)4¸ö×Ö½Ú£¬Ö¸ÏòÏÂÒ»¸ötrunk pageµÄÒ³ºÅ£¬0±íʾÁ´±í½áÊø£» (2)4¸ö×Ö½Ú£¬¸ÃÒ³leaf pageµÄÊýÁ¿£»
(3)0¸ö»ò¶à¸öÖ¸Ïòleaf pageµÄÒ³ºÅ£¬Ã¿Ïî4¸ö×Ö½Ú¡£
ÎļþµÚ6ҳǰ²¿µÄÄÚÈÝÈçÏ£º
˵Ã÷£º
ÏÂÒ»¸ötrunk pageµÄÒ³ºÅΪ0X00000000£¬±íʾÁ´±íÖÐÖ»ÓдËÒ»¸ötrunk page£¬Ã»Óкó¼Ì½áµãÁË¡£
¸ÃÒ³leaf pageµÄÊýÁ¿Îª0X00000005£¬±íʾ±¾Ò³´øÓÐ5¸öleaf page£¬ÒÀ´ÎΪ0X00000009£¬0X00000008£¬0X00000007¡¢0X00000004ºÍ0X00000003¡£
SQLite¶Ôleaf pageµÄ¸ñʽûÓй涨¡£
5 Òç³öÒ³µÄ¸ñʽ
ÏÂÔØÔ´Âë¾Íµ½Ô´ÂëÍø£¬www.codepub.com
Ô´ÂëÍø×ÊÁÏÏÂÔØ£ºwww.codepub.com 5.1 Òç³öÒ³¸ñʽ˵Ã÷
ÈçǰËùÊö£¬µ¥Ôª(cell)¾ßÓпɱäµÄ´óС£¬¶øÒ³µÄ´óСÊǹ̶¨µÄ£¬Õâ¾ÍÓпÉÄÜÒ»¸öµ¥Ôª±ÈÒ»¸öÍêÕûµÄÒ³»¹´ó£¬ÕâÑùµÄµ¥Ôª¾Í»áÒç³öµ½ÓÉÒç³öÒ³×é³ÉµÄÁ´±íÉÏ£¬ÈçÏÂͼËùʾ£º
BtreeÒ³ µ¥ÔªÍ· Payload µ¥ÔªÍ· Payload(µÚ1²¿·Ö) Òç³öÒ³ºÅ Òç³öÒ³ºÅ Òç³öÒ³ Payload(µÚ2²¿·Ö) ¡ 0 Òç³öÒ³ Payload(×îºó²¿·Ö) ÔÚÉÏͼÖУ¬BtreeÒ³µÄ×îºóÒ»¸öµ¥Ôª³¬´ó£¬ÐèҪʹÓÃÒç³öÒ³¡£´Ëʱ£¬µ¥ÔªµÄ×îºó4¸ö×Ö½ÚΪÒç³öÒ³Á´±íÖеÚ1¸öÒç³öÒ³µÄÒ³ºÅ¡£¶ÔÓÚÿ¸öÒç³öÒ³£¬ÆäÍ·4¸ö×Ö½ÚΪÏÂÒ»Òç³öÒ³µÄÒ³ºÅ£¬¸ÃֵΪ0ʱ±íʾ´ËҳΪÒç³öÒ³Á´±íµÄ±íβҳ¡£
³ý×îºóÒ»¸öÒç³öÒ³Í⣬ÿ¸öÒç³öҳȫ²¿Ìî³äÊý¾Ý(³ýÁË×ʼµÄ4¸ö×Ö½Ú)¡£×îºóÒ»¸öÒç³öÒ³¿ÉÄÜÊý¾ÝºÜÉÙ£¬ÉõÖÁÖ»ÓÐÒ»¸ö×Ö½ÚµÄÊý¾Ý£¬µ«Ò»¸öÒç³öÒ³²»»á´æ´¢À´×ÔÁ½¸öµ¥ÔªµÄÊý¾Ý¡£
5.2 ×¼±¸Êý¾Ý¿â
µÃ»»Ò»¸öÊý¾Ý¿âÁË¡£ÎÒÃÇÓÃÏÂÃæµÄ·½·¨À´·ÖÎöÒç³öÒ³µÄ¸ñʽ£¬²¢¶ÔÉϽÚÄÚÈݽøÐÐÑéÖ¤¡£ Ö´ÐÐSQLiteµÄÃüÁîÐй¤¾ß£¬´´½¨Ò»¸öеÄÊý¾Ý¿âfood_text.db¡£ D:\\SQLite\\CLP>sqlite3 foods_text.db ´´½¨Ò»¸öÐÂ±í¡£
CREATE TABLE foods( id integer primary key, type_id integer, name text );
²åÈë1Ìõ¼Ç¼£¬¸Ã¼Ç¼°üº¬Ò»¶Î½Ï³¤µÄÎı¾¡£ INSERT INTO \ALUES(1, 1,
'0000000001000000000200000000030000000004000000009 0000000001000000000200000000030000000004000000009 0000000001000000000200000000030000000004000000009 0000000001000000000200000000030000000004000000009 0000000001000000000200000000030000000004000000009 0000000001000000000200000000030000000004000000009 ÏÂÔØÔ´Âë¾Íµ½Ô´ÂëÍø£¬www.codepub.com