Ç°ÍùС³ÌÐò£¬Get¸üÓÅÔĶÁÌåÑ飡
Á¢¼´Ç°Íù
Ê×Ò³
ѧϰ
»î¶¯
רÇø
¹¤¾ß
TVP
·¢²¼
ÉçÇøÊ×Ò³ >רÀ¸ >InnoDBΪʲôҪѡÔñB+Ê÷À´´æ´¢Êý¾Ý

InnoDBΪʲôҪѡÔñB+Ê÷À´´æ´¢Êý¾Ý

Ô­´´
×÷ÕßÍ·Ïñ
weylan
ÐÞ¸ÄÓÚ 2021-11-17 10:27:58
1.5K0
ÐÞ¸ÄÓÚ 2021-11-17 10:27:58
¾Ù±¨
ÎÄÕ±»ÊÕ¼ÓÚרÀ¸£ºÐ¡Ê¯Í·¼ÇСʯͷ¼Ç

¹ØÓÚInnoDBË÷Òý£¬ÎÒÃÇ¿ÉÄÜÖªµÀInnDBË÷ÒýÊÇÓÃB+Ê÷ʵÏֵģ¬¶øB+Ê÷¾ÍÊÇÒ»ÖÖÄÜÓÅ»¯²éѯËٶȵÄÊý¾Ý½á¹¹¡£µ«ÎÒÃÇÓÖûÏë¹ýÕâÑùÒ»¸öÎÊÌ⣬ÄÜÓÅ»¯²éѯËٶȵÄÊý¾Ý½á¹¹Óкܶ࣬ΪʲôInnoDBÒª²ÉÓÃB+Ê÷£¿

³£¼ûÓÅ»¯²éѯËÙ¶ÈÊý¾Ý½á¹¹

¹þÏ£±í

¹þÏ£±íÊÇÒ»ÖÖÒÔ¼ü - Öµ£¨key-value£©´æ´¢Êý¾ÝµÄ½á¹¹£¬ÎÒÃÇÖ»ÒªÊäÈë´ý²éÕҵļü¼´ key£¬¾Í¿ÉÒÔÕÒµ½Æä¶ÔÓ¦µÄÖµ¼´ Value¡£¹þÏ£µÄ˼·ºÜ¼òµ¥£¬°ÑÖµ·ÅÔÚÊý×éÀÓÃÒ»¸ö¹þÏ£º¯Êý°Ñ key »»Ëã³ÉÒ»¸öÈ·¶¨µÄλÖã¬È»ºó°Ñ value ·ÅÔÚÊý×éµÄÕâ¸öλÖá£

²»¿É±ÜÃâµØ£¬¶à¸ö key Öµ¾­¹ý¹þÏ£º¯ÊýµÄ»»Ë㣬»á³öÏÖͬһ¸öÖµµÄÇé¿ö¡£´¦ÀíÕâÖÖÇé¿öµÄÒ»ÖÖ·½·¨ÊÇ£¬À­³öÒ»¸öÁ´±í¡£

¼ÙÉèÏÖÔÚά»¤×ÅÒ»¸öÉí·ÝÖ¤ÐÅÏ¢ºÍÐÕÃûµÄ±í£¬ÐèÒª¸ù¾ÝÉí·ÝÖ¤ºÅ²éÕÒ¶ÔÓ¦µÄÃû×Ö£¬Õâʱ¶ÔÓ¦µÄ¹þÏ£Ë÷ÒýµÄʾÒâͼÈçÏÂËùʾ£º

ͼÖУ¬User2 ºÍ User4 ¸ù¾ÝÉí·ÝÖ¤ºÅËã³öÀ´µÄÖµ¶¼ÊÇ N£¬µ«Ã»¹Øϵ£¬ºóÃ滹¸úÁËÒ»¸öÁ´±í¡£¼ÙÉ裬ÕâʱºòÄãÒª²é ID_card_n2 ¶ÔÓ¦µÄÃû×ÖÊÇʲô£¬´¦Àí²½Öè¾ÍÊÇ£ºÊ×ÏÈ£¬½« ID_card_n2 ͨ¹ý¹þÏ£º¯ÊýËã³ö N£»È»ºó£¬°´Ë³Ðò±éÀú£¬ÕÒµ½ User2¡£

ÐèҪעÒâµÄÊÇ£¬Í¼ÖÐËĸö ID_card_n µÄÖµ²¢²»ÊǵÝÔöµÄ£¬ÕâÑù×öµÄºÃ´¦ÊÇÔö¼ÓÐ嵀 User ʱËٶȻáºÜ¿ì£¬Ö»ÐèÒªÍùºó×·¼Ó¡£µ«È±µãÊÇ£¬ÒòΪ²»ÊÇÓÐÐòµÄ£¬ËùÒÔ¹þÏ£Ë÷Òý×öÇø¼ä²éѯµÄËÙ¶ÈÊǺÜÂýµÄ¡£

¿ÉÒÔÉèÏëÏ£¬Èç¹ûÏÖÔÚÒªÕÒÉí·ÝÖ¤ºÅÔÚID_card_X, ID_card_YÕâ¸öÇø¼äµÄËùÓÐÓû§£¬¾Í±ØÐëÈ«²¿É¨ÃèÒ»±éÁË¡£

ËùÒÔ£¬¹þÏ£±íÕâÖֽṹÊÊÓÃÓÚÖ»ÓеÈÖµ²éѯµÄ³¡¾°£¬±ÈÈç Memcached ¼°ÆäËûһЩ NoSQL ÒýÇæ¡£

ÓÐÐòÊý×é

ÓÐÐòÊý×éÔÚµÈÖµ²éѯºÍ·¶Î§²éѯ³¡¾°ÖеÄÐÔÄܾͶ¼·Ç³£ÓÅÐã¡£»¹ÊÇÉÏÃæÕâ¸ö¸ù¾ÝÉí·ÝÖ¤ºÅ²éÃû×ÖµÄÀý×Ó£¬Èç¹ûÎÒÃÇʹÓÃÓÐÐòÊý×éÀ´ÊµÏֵĻ°£¬Ê¾ÒâͼÈçÏÂËùʾ£º

ÕâÀïÎÒÃǼÙÉèÉí·ÝÖ¤ºÅûÓÐÖظ´£¬Õâ¸öÊý×é¾ÍÊÇ°´ÕÕÉí·ÝÖ¤ºÅµÝÔöµÄ˳Ðò±£´æµÄ¡£ÕâʱºòÈç¹ûÄãÒª²é ID_card_n2 ¶ÔÓ¦µÄÃû×Ö£¬Óöþ·Ö·¨¾Í¿ÉÒÔ¿ìËٵõ½£¬Õâ¸öʱ¼ä¸´ÔÓ¶ÈÊÇ O(log(N))¡£

ͬʱºÜÏÔÈ»£¬Õâ¸öË÷Òý½á¹¹Ö§³Ö·¶Î§²éѯ¡£Òª²éÉí·ÝÖ¤ºÅÔÚID_card_X, ID_card_YÇø¼äµÄ User£¬¿ÉÒÔÏÈÓöþ·Ö·¨ÕÒµ½ ID_card_X£¨Èç¹û²»´æÔÚ ID_card_X£¬¾ÍÕÒµ½´óÓÚ ID_card_X µÄµÚÒ»¸ö User£©£¬È»ºóÏòÓÒ±éÀú£¬Ö±µ½²éµ½µÚÒ»¸ö´óÓÚ ID_card_Y µÄÉí·ÝÖ¤ºÅ£¬Í˳öÑ­»·¡£

Èç¹û½ö½ö¿´²éѯЧÂÊ£¬ÓÐÐòÊý×é¾ÍÊÇ×îºÃµÄÊý¾Ý½á¹¹ÁË¡£µ«ÊÇ£¬ÔÚÐèÒª¸üÐÂÊý¾ÝµÄʱºò¾ÍÂé·³ÁË£¬ÍùÖмä²åÈëÒ»¸ö¼Ç¼¾Í±ØÐëµÃŲ¶¯ºóÃæËùÓеļǼ£¬³É±¾Ì«¸ß¡£

ËùÒÔ£¬ÓÐÐòÊý×éË÷ÒýÖ»ÊÊÓÃÓÚ¾²Ì¬´æ´¢ÒýÇ棬±ÈÈçÒª±£´æµÄÊÇ 2017 Äêij¸ö³ÇÊеÄËùÓÐÈË¿ÚÐÅÏ¢£¬ÕâÀ಻»áÔÙÐ޸ĵÄÊý¾Ý¡£

¶þ²æËÑË÷Ê÷

ÉÏÃæ¸ù¾ÝÉí·ÝÖ¤ºÅ²éÃû×ÖµÄÀý×Ó£¬Èç¹ûÎÒÃÇÓöþ²æËÑË÷Ê÷À´ÊµÏֵĻ°£¬Ê¾ÒâͼÈçÏÂËùʾ£º

¶þ²æËÑË÷Ê÷µÄÌصãÊÇ£ºÃ¿¸ö½ÚµãµÄ×ó¶ù×ÓСÓÚ¸¸½Úµã£¬¸¸½ÚµãÓÖСÓÚÓÒ¶ù×Ó¡£ÕâÑùÈç¹ûÄãÒª²é ID_card_n2 µÄ»°£¬°´ÕÕͼÖеÄËÑË÷˳Ðò¾ÍÊÇ°´ÕÕ UserA -> UserC -> UserF -> User2 Õâ¸ö·¾¶µÃµ½¡£Õâ¸öʱ¼ä¸´ÔÓ¶ÈÊÇ O(log(N))¡£

µ±È»ÎªÁËά³Ö O(log(N)) µÄ²éѯ¸´ÔӶȣ¬¾ÍÐèÒª±£³ÖÕâ¿ÃÊ÷ÊÇƽºâ¶þ²æÊ÷¡£ÎªÁË×öÕâ¸ö±£Ö¤£¬¸üеÄʱ¼ä¸´ÔÓ¶ÈÒ²ÊÇ O(log(N))¡£

Ê÷¿ÉÒÔÓжþ²æ£¬Ò²¿ÉÒÔÓжà²æ¡£¶à²æÊ÷¾ÍÊÇÿ¸ö½ÚµãÓжà¸ö¶ù×Ó£¬¶ù×ÓÖ®¼äµÄ´óС±£Ö¤´Ó×óµ½ÓÒµÝÔö¡£¶þ²æÊ÷ÊÇËÑË÷ЧÂÊ×î¸ßµÄ£¬µ«ÊÇʵ¼ÊÉÏ´ó¶àÊýµÄÊý¾Ý¿â´æ´¢È´²¢²»Ê¹Óöþ²æÊ÷¡£ÆäÔ­ÒòÊÇ£¬Ë÷Òý²»Ö¹´æÔÚÄÚ´æÖУ¬»¹ÒªÐ´µ½´ÅÅÌÉÏ¡£

¿ÉÒÔÏëÏóÒ»ÏÂÒ»¿Ã 100 Íò½ÚµãµÄƽºâ¶þ²æÊ÷£¬Ê÷¸ß 20¡£Ò»´Î²éѯ¿ÉÄÜÐèÒª·ÃÎÊ 20 ¸öÊý¾Ý¿é¡£ÔÚ»úеӲÅÌʱ´ú£¬´Ó´ÅÅÌËæ»ú¶ÁÒ»¸öÊý¾Ý¿éÐèÒª 10 ms ×óÓÒµÄѰַʱ¼ä¡£Ò²¾ÍÊÇ˵£¬¶ÔÓÚÒ»¸ö 100 ÍòÐÐµÄ±í£¬Èç¹ûʹÓöþ²æÊ÷À´´æ´¢£¬µ¥¶À·ÃÎÊÒ»¸öÐпÉÄÜÐèÒª 20 ¸ö 10 ms µÄʱ¼ä£¬Õâ¸ö²éѯ¿ÉÕæ¹»ÂýµÄ¡£

ΪÁËÈÃÒ»¸ö²éѯ¾¡Á¿ÉٵضÁ´ÅÅÌ£¬¾Í±ØÐëÈòéѯ¹ý³Ì·ÃÎʾ¡Á¿ÉÙµÄÊý¾Ý¿é¡£ÄÇô£¬ÎÒÃǾͲ»Ó¦¸ÃʹÓöþ²æÊ÷£¬¶øÊÇҪʹÓá°N ²æ¡±Ê÷¡£ÕâÀ¡°N ²æ¡±Ê÷Öеġ°N¡±È¡¾öÓÚÊý¾Ý¿éµÄ´óС¡£

ÒÔ InnoDB µÄÒ»¸öÕûÊý×Ö¶ÎË÷ÒýΪÀý£¬Õâ¸ö N ²î²»¶àÊÇ 1200¡£Õâ¿ÃÊ÷¸ßÊÇ 4 µÄʱºò£¬¾Í¿ÉÒÔ´æ 1200 µÄ 3 ´Î·½¸öÖµ£¬ÕâÒѾ­ 17 ÒÚÁË¡£¿¼Âǵ½Ê÷¸ùµÄÊý¾Ý¿é×ÜÊÇÔÚÄÚ´æÖеģ¬Ò»¸ö 10 ÒÚÐеıíÉÏÒ»¸öÕûÊý×ֶεÄË÷Òý£¬²éÕÒÒ»¸öÖµ×î¶àÖ»ÐèÒª·ÃÎÊ 3 ´Î´ÅÅÌ¡£Æäʵ£¬Ê÷µÄµÚ¶þ²ãÒ²Óкܴó¸ÅÂÊÔÚÄÚ´æÖУ¬ÄÇô·ÃÎÊ´ÅÅ̵Äƽ¾ù´ÎÊý¾Í¸üÉÙÁË¡£

N ²æÊ÷ÓÉÓÚÔÚ¶ÁдÉϵÄÐÔÄÜÓŵ㣬ÒÔ¼°ÊÊÅä´ÅÅ̵ķÃÎÊģʽ£¬ÒѾ­±»¹ã·ºÓ¦ÓÃÔÚÊý¾Ý¿âÒýÇæÖÐÁË¡£

Êý¾Ý¿âÒýÇæ³£ÓÃÊý¾Ý½á¹¹

BÊ÷

BÊ÷Ò²³ÆB-Ê÷,ËüÊÇÒ»¿Å¶à·ƽºâ²éÕÒÊ÷£¬BÊ÷ºÍºóÃæ½²µ½µÄB+Ê÷Ò²ÊÇ´Ó×î¼òµ¥µÄ¶þ²æÊ÷±ä»»¶øÀ´µÄ£¬²¢Ã»ÓÐʲôÉñÃصĵط½£¬ÏÂÃæÎÒÃÇÀ´¿´¿´BÊ÷µÄ¶¨Òå¡£

  • ÿ¸ö½Úµã×î¶àÓÐm-1¸ö¹Ø¼ü×Ö£¨¿ÉÒÔ´æÓеļüÖµ¶Ô£©¡£
  • ¸ù½Úµã×îÉÙ¿ÉÒÔÖ»ÓÐ1¸ö¹Ø¼ü×Ö¡£
  • ·Ç¸ù½ÚµãÖÁÉÙÓÐm/2¸ö¹Ø¼ü×Ö¡£
  • ÿ¸ö½ÚµãÖеĹؼü×Ö¶¼°´ÕÕ´ÓСµ½´óµÄ˳ÐòÅÅÁУ¬Ã¿¸ö¹Ø¼ü×ÖµÄ×ó×ÓÊ÷ÖеÄËùÓйؼü×Ö¶¼Ð¡ÓÚËü£¬¶øÓÒ×ÓÊ÷ÖеÄËùÓйؼü×Ö¶¼´óÓÚËü¡£
  • ËùÓÐÒ¶×ӽڵ㶼λÓÚͬһ²ã£¬»òÕß˵¸ù½Úµãµ½Ã¿¸öÒ¶×Ó½ÚµãµÄ³¤¶È¶¼Ïàͬ¡£
  • ÿ¸ö½Úµã¶¼´æÓÐË÷ÒýºÍÊý¾Ý£¬Ò²¾ÍÊǶÔÓ¦µÄkeyºÍvalue¡£

B+Ê÷

B+Ê÷ÆäʵºÍBÊ÷ÊǷdz£ÏàËƵģ¬ÎÒÃÇÊ×ÏÈ¿´¿´Ïàͬµã¡£

Ïàͬµã£º

¸ù½ÚµãÖÁÉÙÒ»¸öÔªËØ

·Ç¸ù½ÚµãÔªËØ·¶Î§£ºm/2 <= k <= m-1

²»Í¬µã£º

B+Ê÷ÓÐÁ½ÖÖÀàÐ͵Ľڵ㣺ÄÚ²¿½áµã£¨Ò²³ÆË÷Òý½áµã£©ºÍÒ¶×Ó½áµã¡£ÄÚ²¿½Úµã¾ÍÊÇ·ÇÒ¶×ӽڵ㣬ÄÚ²¿½Úµã²»´æ´¢Êý¾Ý£¬Ö»´æ´¢Ë÷Òý£¬Êý¾Ý¶¼´æ´¢ÔÚÒ¶×ӽڵ㡣

ÄÚ²¿½áµãÖеÄkey¶¼°´ÕÕ´ÓСµ½´óµÄ˳ÐòÅÅÁУ¬¶ÔÓÚÄÚ²¿½áµãÖеÄÒ»¸ökey£¬×óÊ÷ÖеÄËùÓÐkey¶¼Ð¡ÓÚËü£¬ÓÒ×ÓÊ÷ÖеÄkey¶¼´óÓÚµÈÓÚËü¡£Ò¶×Ó½áµãÖеļǼҲ°´ÕÕkeyµÄ´óСÅÅÁС£

ÿ¸öÒ¶×Ó½áµã¶¼´æÓÐÏàÁÚÒ¶×Ó½áµãµÄÖ¸Õ룬Ҷ×Ó½áµã±¾ÉíÒÀ¹Ø¼ü×ֵĴóС×ÔС¶ø´ó˳ÐòÁ´½Ó¡£

¸¸½Úµã´æÓÐÓÒº¢×ӵĵÚÒ»¸öÔªËصÄË÷Òý¡£

×ܽá

BºÍB+Ê÷µÄÇø±ðÔÚÓÚ£¬B+Ê÷µÄ·ÇÒ¶×Ó½áµãÖ»°üº¬µ¼º½ÐÅÏ¢£¬²»°üº¬Êµ¼ÊµÄÖµ£¬ËùÓеÄÒ¶×Ó½áµãºÍÏàÁ¬µÄ½ÚµãʹÓÃÁ´±íÏàÁ¬£¬±ãÓÚÇø¼ä²éÕҺͱéÀú¡£

B+ Ê÷µÄÓŵãÔÚÓÚ£º

  1. ÓÉÓÚB+Ê÷ÔÚÄÚ²¿½ÚµãÉϲ»°üº¬Êý¾ÝÐÅÏ¢£¬Òò´ËÔÚÄÚ´æÒ³ÖÐÄܹ»´æ·Å¸ü¶àµÄkey¡£ Êý¾Ý´æ·ÅµÄ¸ü¼Ó½ôÃÜ£¬¾ßÓиüºÃµÄ¿Õ¼ä¾Ö²¿ÐÔ¡£Òò´Ë·ÃÎÊÒ¶×Ó½ÚµãÉϹØÁªµÄÊý¾ÝÒ²¾ßÓиüºÃµÄ»º´æÃüÖÐÂÊ¡£
  2. B+Ê÷µÄÒ¶×Ó½áµã¶¼ÊÇÏàÁ´µÄ£¬Òò´Ë¶ÔÕû¿ÃÊ÷µÄ±ãÀûÖ»ÐèÒªÒ»´ÎÏßÐÔ±éÀúÒ¶×Ó½áµã¼´¿É¡£¶øÇÒÓÉÓÚÊý¾Ý˳ÐòÅÅÁв¢ÇÒÏàÁ¬£¬ËùÒÔ±ãÓÚÇø¼ä²éÕÒºÍËÑË÷¡£¶øBÊ÷ÔòÐèÒª½øÐÐÿһ²ãµÄµÝ¹é±éÀú¡£ÏàÁÚµÄÔªËØ¿ÉÄÜÔÚÄÚ´æÖв»ÏàÁÚ£¬ËùÒÔ»º´æÃüÖÐÐÔûÓÐB+Ê÷ºÃ¡£

µ«ÊÇBÊ÷Ò²ÓÐÓŵ㣬ÆäÓŵãÔÚÓÚ£¬ÓÉÓÚBÊ÷µÄÿһ¸ö½Úµã¶¼°üº¬keyºÍvalue£¬Òò´Ë¾­³£·ÃÎʵÄÔªËØ¿ÉÄÜÀë¸ù½Úµã¸ü½ü£¬Òò´Ë·ÃÎÊÒ²¸üѸËÙ¡£

²Î¿¼

ÃæÊÔ¹ÙÎÊÄãBÊ÷ºÍB+Ê÷£¬¾Í°ÑÕâƪÎÄÕ¶ª¸øËû

Ô­´´ÉùÃ÷£º±¾ÎÄϵ×÷ÕßÊÚȨÌÚѶÔÆ¿ª·¢ÕßÉçÇø·¢±í£¬Î´¾­Ðí¿É£¬²»µÃתÔØ¡£

ÈçÓÐÇÖȨ£¬ÇëÁªÏµ cloudcommunity@tencent.com ɾ³ý¡£

Ô­´´ÉùÃ÷£º±¾ÎÄϵ×÷ÕßÊÚȨÌÚѶÔÆ¿ª·¢ÕßÉçÇø·¢±í£¬Î´¾­Ðí¿É£¬²»µÃתÔØ¡£

ÈçÓÐÇÖȨ£¬ÇëÁªÏµ cloudcommunity@tencent.com ɾ³ý¡£

ÆÀÂÛ
µÇ¼ºó²ÎÓëÆÀÂÛ
0 ÌõÆÀÂÛ
ÈȶÈ
×îÐÂ
ÍƼöÔĶÁ
Ŀ¼
  • ³£¼ûÓÅ»¯²éѯËÙ¶ÈÊý¾Ý½á¹¹
    • ¹þÏ£±í
      • ÓÐÐòÊý×é
        • ¶þ²æËÑË÷Ê÷
        • Êý¾Ý¿âÒýÇæ³£ÓÃÊý¾Ý½á¹¹
          • BÊ÷
            • B+Ê÷
              • ×ܽá
              • ²Î¿¼
              Ïà¹Ø²úÆ·Óë·þÎñ
              ÔÆÊý¾Ý¿â SQL Server
              ÌÚѶÔÆÊý¾Ý¿â SQL Server £¨TencentDB for SQL Server£©ÊÇÒµ½ç×î³£ÓõÄÉÌÓÃÊý¾Ý¿âÖ®Ò»£¬¶Ô»ùÓÚ Windows ¼Ü¹¹µÄÓ¦ÓóÌÐò¾ßÓÐÍêÃÀµÄÖ§³Ö¡£TencentDB for SQL Server ÓµÓÐ΢ÈíÕý°æÊÚȨ£¬¿É³ÖÐøΪÓû§Ìṩ×îÐµĹ¦ÄÜ£¬±ÜÃâδÊÚȨʹÓÃÈí¼þµÄ·çÏÕ¡£¾ßÓм´¿ª¼´Óá¢Îȶ¨¿É¿¿¡¢°²È«ÔËÐС¢µ¯ÐÔÀ©ËõµÈÌص㡣
              Áìȯ
              ÎÊÌâ¹éµµ×¨À¸ÎÄÕ¿ìѶÎÄÕ¹鵵¹Ø¼ü´Ê¹éµµ¿ª·¢ÕßÊÖ²á¹éµµ¿ª·¢ÕßÊÖ²á Section ¹éµµ
              http://www.vxiaotou.com