µÚÁùÊ®°ËÕÂ. ·ÖÒ³Îļþ

ÄÚÈÝ
Ò³Ãæ½á¹¹
Îļþ
³ô³æ
Ò»·ÝÃèÊöÊý¾Ý¿âÎļþȱʡҳÃæ¸ñʽµÄÎĵµ£®
±¾ÕÂÌṩһ¸ö Postgres µÄ±íËùʹÓõÄÒ³Ãæ¸ñʽµÄ¸ÅÊö£®Óû§¶¨ÒåµÄ·ÃÎÊģʽ²»ÐèҪʹÓÃÕâЩҳÃæ¸ñʽ£®

ÔÚÏÂÃæ½âÊÍÖУ¬ Ò»¸ö×Ö½Ú ¼Ù¶¨°üº¬ 8 ¸öλ£®ÁíÍ⣬ÊõÓï item £¨ÌõÄ¿£©Ö¸µÄÊÇ´æ´¢ÔÚ Postgres ±íÀïµÄÊý¾Ý£®

Ò³Ãæ½á¹¹

ÏÂÃæµÄ±íÏÔʾÁËͨ³£µÄ Postgres ±íºÍ Postgres Ë÷Òý±í£¨ÀýÈ磬һ¸ö B-tree Ë÷Òý£©ÀïµÄÒ³ÃæÊÇÈçºÎ¹¹ÔìµÄ£®
±í 68-1. ÑùÀýÒ³Ãæ²¼¾Ö
 

ÌõÄ¿ ÃèÊö
itemPointerData
filler
itemData...
Unallocated Space
ItemContinuationData
Special Space
``ItemData 2''
``ItemData 1''
ItemIdData
PageHeaderData
ÿ¸öÒ³ÃæµÄÍ·8×Ö½Ú°üº¬Ò»¸öÒ³ÃæÍ·£¨PageHeaderData£©£®ÔÚÍ·ÀïÃ棬ͷÈý¸ö2×Ö½ÚµÄÕûÊýÓò £¨lower µ×£¬upper ¸ß £¬ºÍ special ÌØÊ⣩·Ö±ð´ú±íÏà¶ÔÓÚδ·ÖÅä¿Õ¼ä¿ªÍ·µÄ×Ö½ÚÆ«ÒÆÁ¿£¬Ïà¶ÔÓÚδ·ÖÅä¿Õ¼ä½áβµÄÆ«ÒÆÁ¿ºÍÏà¶ÔÓÚ special space £¨ÌØÊâ¿Õ¼ä£©¿ªÍ·µÄÆ«ÒÆÁ¿£®ÌØÊâ¿Õ¼äÊÇλÓÚÒ³Ãæβ²¿µÄ¿Õ¼ä£¬Õⲿ·Ö¿Õ¼äÔÚÒ³Ãæ³õʼ»¯Ê±·ÖÅä²¢ÇÒ°üº¬ÓëÒ»ÖÖ·ÃÎÊģʽµÄÏêϸÐÅÏ¢£®Ò³ÃæÍ·µÄ×îºó 2 ×Ö½Ú£¬ opaque£¬¼Ç¼ҳÃæ³ß´çºÍÒ³ÃæÄÚ²¿µÄËéƬÐÅÏ¢£®Ò³Ãæ³ß´ç´æ·ÅÔÚÿ¸öÒ³ÃæÊÇÒòΪÔÚÒ»¸ö±íÀïÃ滺³å³ØÀïÃæµÄÖ¡¿ÉÄÜ»áÒÔÒ»Ö¡Ò»Ö¡µÄµ¥Î»·Ö½â³ÉµÈ³ß´çµÄÒ³Ã森ÄÚ²¿ËéƬÐÅÏ¢ÓÃÓÚ°ïÖú¾ö¶¨ºÎʱ½øÐÐÒ³ÃæµÄÖØÐÂ×éºÏ£®

¸úÔÚÒ³ÃæÍ·ºóÃæµÄÊÇÌõÄ¿±êʶ (ItemIdData)£®ÐµÄÌõÄ¿±êʶÔÚδ·ÖÅä¿Õ¼äµÄÍ·Ëĸö×Ö½ÚÀï·ÖÅ䣮ÒòΪÔÚÌõÄ¿±»ÊÍ·Å֮ǰ£¬ÌõÄ¿±êʶ¾ö²»»áÒƶ¯£¬ËùÒÔËüµÄË÷Òý¿ÉÒÔÓÃÓÚ±íʾһ¸öÌõÄ¿ÔÚÒ³ÃæÖеÄλÖã®Êµ¼ÊÉÏ£¬Postgres ´´½¨µÄÿ¸öÌõÄ¿±êʶָÕë (ItemPointer) ¶¼ÓÉÒ»¸öèå¸öÊýºÍÒ»¸öÌõÄ¿±êʶË÷Òý×é³É£®Ò»¸öÌõÄ¿±êʶ°üº¬Ò»¸öÓëÌõÄ¿¿ªÍ·µÄ×Ö½ÚÆ«ÒÆÁ¿£¬Æ䳤¶ÈÒÔ×ֽڼǣ¬ÒÔ¼°Ò»Ì×Ó°ÏìÆäת»» £¨interpretation£©µÄÊôÐÔλ£®

ÌõÄ¿±¾ÉíÊÇ´Óδ·ÖÅä¿Õ¼äµÄβ²¿¿ªÊ¼Ïòºó·ÖÅäµÄ¿Õ¼äÖд洢µÄ£®Í¨³££¬ÕâЩÌõÄ¿²»×öת»»£®µ«ÊÇÈç¹ûÌõÄ¿Ì«³¤¶ø²»ÄÜ·ÅÔÚÒ»¸öÒ³ÃæÀï»òÕßÐèÒªÌõÄ¿·Ö½â³ÉËéƬʱ£¬¸ÃÌõÄ¿½«±»·Ö½â²¢ÇÒÿһ²¿·ÖÓÃÏÂÃæµÄ·½·¨µ±×÷¶ÀÁ¢µÄÌõÄ¿´¦Àí£®µÚÒ»¸öµ½µ¹ÊýµÚ¶þ¸öÌõĿƬ¶Î±»·Åµ½Ò»¸öÌõÄ¿Á¬¹á½á¹¹ (ItemContinuationData) ÀÕâ¸ö½á¹¹°üº¬ itemPointerData£¬¸ÃÊý¾ÝÖ¸ÏòÏÂÒ»¸öƬ¶ÎºÍ¸ÃƬ¶Î±¾Éí£®×îºóÒ»¸öƬ¶Î°´Õý³£·½·¨²Ù×÷£®