±à¼ÍƼö: |
±¾ÎÄÀ´×ÔÓÚjianshu£¬±¾ÎÄÖ÷Òª½éÉÜÁËË÷ÒýµÄ¶¨Ò壬mysqlÁ½ÖÖ´æ´¢ÒýÇæµÄË÷Òý´æ´¢»úÖÆ:MyISAMË÷ÒýʵÏÖºÍInnoDBË÷ÒýʵÏֵȣ¬Ï£ÍûÄܶÔÄúÓÐËù°ïÖú¡£ |
|
Ë÷Òý
MySQL¹Ù·½¶ÔË÷ÒýµÄ¶¨ÒåΪ£ºË÷Òý£¨Index£©ÊǰïÖúMySQL¸ßЧ»ñÈ¡Êý¾ÝµÄÊý¾Ý½á¹¹¡£
ÎÒÃÇÖªµÀ£¬Êý¾Ý¿â²éѯÊÇÊý¾Ý¿âµÄ×îÖ÷Òª¹¦ÄÜÖ®Ò»¡£ÎÒÃǶ¼Ï£Íû²éѯÊý¾ÝµÄËÙ¶ÈÄܾ¡¿ÉÄܵĿ죬Òò´ËÊý¾Ý¿âϵͳµÄÉè¼ÆÕß»á´Ó²éѯËã·¨µÄ½Ç¶È½øÐÐÓÅ»¯¡£×î»ù±¾µÄ²éѯËã·¨µ±È»ÊÇ˳Ðò²éÕÒ£¨linear
search£©£¬ÕâÖÖ¸´ÔÓ¶ÈΪO(n)µÄËã·¨ÔÚÊý¾ÝÁ¿ºÜ´óʱÏÔÈ»ÊÇÔã¸âµÄ£¬ºÃÔÚ¼ÆËã»ú¿ÆÑ§µÄ·¢Õ¹ÌṩÁ˺ܶà¸üÓÅÐãµÄ²éÕÒËã·¨£¬ÀýÈç¶þ·Ö²éÕÒ£¨binary
search£©¡¢¶þ²æÊ÷²éÕÒ£¨binary tree search£©µÈ¡£Èç¹ûÉÔ΢·ÖÎöһϻᷢÏÖ£¬Ã¿ÖÖ²éÕÒËã·¨¶¼Ö»ÄÜÓ¦ÓÃÓÚÌØ¶¨µÄÊý¾Ý½á¹¹Ö®ÉÏ£¬ÀýÈç¶þ·Ö²éÕÒÒªÇó±»¼ìË÷Êý¾ÝÓÐÐò£¬¶ø¶þ²æÊ÷²éÕÒÖ»ÄÜÓ¦ÓÃÓÚ¶þ²æ²éÕÒÊ÷ÉÏ£¬µ«ÊÇÊý¾Ý±¾ÉíµÄ×éÖ¯½á¹¹²»¿ÉÄÜÍêÈ«Âú×ã¸÷ÖÖÊý¾Ý½á¹¹£¨ÀýÈ磬ÀíÂÛÉϲ»¿ÉÄÜͬʱ½«Á½Áж¼°´Ë³Ðò½øÐÐ×éÖ¯£©£¬ËùÒÔ£¬ÔÚÊý¾ÝÖ®Í⣬Êý¾Ý¿âϵͳ»¹Î¬»¤×ÅÂú×ãÌØ¶¨²éÕÒËã·¨µÄÊý¾Ý½á¹¹£¬ÕâЩÊý¾Ý½á¹¹ÒÔijÖÖ·½Ê½ÒýÓã¨Ö¸Ïò£©Êý¾Ý£¬ÕâÑù¾Í¿ÉÒÔÔÚÕâЩÊý¾Ý½á¹¹ÉÏʵÏָ߼¶²éÕÒËã·¨¡£ÕâÖÖÊý¾Ý½á¹¹£¬¾ÍÊÇË÷Òý¡£
¿´Ò»¸öÀý×Ó£º

ͼ1չʾÁËÒ»ÖÖ¿ÉÄܵÄË÷Òý·½Ê½¡£×ó±ßÊÇÊý¾Ý±í£¬Ò»¹²ÓÐÁ½ÁÐÆßÌõ¼Ç¼£¬×î×ó±ßµÄÊÇÊý¾Ý¼Ç¼µÄÎïÀíµØÖ·£¨×¢ÒâÂß¼ÉÏÏàÁڵļǼÔÚ´ÅÅÌÉÏÒ²²¢²»ÊÇÒ»¶¨ÎïÀíÏàÁڵģ©¡£ÎªÁ˼ӿìCol2µÄ²éÕÒ£¬¿ÉÒÔά»¤Ò»¸öÓÒ±ßËùʾµÄ¶þ²æ²éÕÒÊ÷£¬Ã¿¸ö½Úµã·Ö±ð°üº¬Ë÷Òý¼üÖµºÍÒ»¸öÖ¸Ïò¶ÔÓ¦Êý¾Ý¼Ç¼ÎïÀíµØÖ·µÄÖ¸Õ룬ÕâÑù¾Í¿ÉÒÔÔËÓöþ²æ²éÕÒÔÚO(log2n)µÄ¸´ÔÓ¶ÈÄÚ»ñÈ¡µ½ÏàÓ¦Êý¾Ý¡£
ËäÈ»ÕâÊÇÒ»¸ö»õÕæ¼ÛʵµÄË÷Òý£¬µ«ÊÇʵ¼ÊµÄÊý¾Ý¿âϵͳ¼¸ºõûÓÐʹÓöþ²æ²éÕÒÊ÷»òÆä½ø»¯Æ·ÖÖºìºÚÊ÷£¨red-black
tree£©ÊµÏֵģ¬ÔÒò»áÔÚÏÂÎĽéÉÜ¡£
B-TreeºÍB+Tree
Ŀǰ´ó²¿·ÖÊý¾Ý¿âϵͳ¼°Îļþϵͳ¶¼²ÉÓÃB-Tree»òÆä±äÖÖB+Tree×÷ΪË÷Òý½á¹¹£¬ÔÚ±¾ÎĵÄÏÂÒ»½Ú»á½áºÏ´æ´¢Æ÷ÔÀí¼°¼ÆËã»ú´æÈ¡ÔÀíÌÖÂÛΪʲôB-TreeºÍB+TreeÔÚ±»Èç´Ë¹ã·ºÓÃÓÚË÷Òý£¬ÕâÒ»½ÚÏȵ¥´¿´ÓÊý¾Ý½á¹¹½Ç¶ÈÃèÊöËüÃÇ¡£
B-Tree
ÊÇÒ»ÖÖ¶à·ËÑË÷Ê÷£¨²¢²»ÊǶþ²æµÄ£©£º
1.¶¨ÒåÈÎÒâ·ÇÒ¶×Ó½áµã×î¶àÖ»ÓÐM¸ö¶ù×Ó£»ÇÒM>2£»
2.¸ù½áµãµÄ¶ù×ÓÊýΪ[2, M]£»
3.³ý¸ù½áµãÒÔÍâµÄ·ÇÒ¶×Ó½áµãµÄ¶ù×ÓÊýΪ[M/2, M]£»
4.ÿ¸ö½áµã´æ·ÅÖÁÉÙM/2-1£¨È¡ÉÏÕû£©ºÍÖÁ¶àM-1¸ö¹Ø¼ü×Ö£»£¨ÖÁÉÙ2¸ö¹Ø¼ü×Ö£©
5.·ÇÒ¶×Ó½áµãµÄ¹Ø¼ü×Ö¸öÊý=Ö¸Ïò¶ù×ÓµÄÖ¸Õë¸öÊý-1£»
6.·ÇÒ¶×Ó½áµãµÄ¹Ø¼ü×Ö£ºK[1], K[2], ¡, K[M-1]£»ÇÒK[i] < K[i+1]£»
7.·ÇÒ¶×Ó½áµãµÄÖ¸Õ룺P[1], P[2], ¡, P[M]£»ÆäÖÐP[1]Ö¸Ïò¹Ø¼ü×ÖСÓÚK[1]µÄ
×ÓÊ÷£¬P[M]Ö¸Ïò¹Ø¼ü×Ö´óÓÚK[M-1]µÄ×ÓÊ÷£¬ÆäËüP[i]Ö¸Ïò¹Ø¼ü×ÖÊôÓÚ(K[i-1], K[i])µÄ×ÓÊ÷£»
8.ËùÓÐÒ¶×Ó½áµãλÓÚͬһ²ã£»
9.ÿ¸ök¶ÔÓ¦Ò»¸ödata¡£
È磺£¨M=3£©Ï൱ÓÚÒ»¸ö2¨C3Ê÷£¬2¨C3Ê÷ÊÇÒ»¸öÕâÑùµÄÒ»¿ÃÊ÷£¬ ËüµÄÿ¸ö½ÚµãҪôÓÐ2¸öº¢×ÓºÍ1¸öÊý¾ÝÔªËØ£¬ÒªÃ´ÓÐ3¸öº¢×ÓºÍ2¸öÊý¾ÝÔªËØ£¬Ò¶×Ó½ÚµãûÓк¢×Ó£¬²¢ÇÒÓÐ1¸ö»ò2¸öÊý¾ÝÔªËØ¡£

B-Ê÷µÄËÑË÷£¬´Ó¸ù½áµã¿ªÊ¼£¬¶Ô½áµãÄڵĹؼü×Ö£¨ÓÐÐò£©ÐòÁнøÐжþ·Ö²éÕÒ£¬Èç¹ûÃüÖÐÔò½áÊø£¬·ñÔò½øÈë²éѯ¹Ø¼ü×ÖËùÊô·¶Î§µÄ¶ù×Ó½áµã£»Öظ´£¬Ö±µ½Ëù¶ÔÓ¦µÄ¶ù×ÓÖ¸ÕëΪ¿Õ£¬»òÒѾÊÇÒ¶×Ó½áµã£»B-TreeÉϲéÕÒËã·¨µÄα´úÂëÈçÏ£º
BTree_Search(node,
key) { if(node == null) return null; foreach(node.key)
{ if(node.key[i] == key) return node.data[i];
if(node.key[i] > key) return BTree_Search(point[i]->node);
} return BTree_Search(point[i+1]->node); }
data = BTree_Search(root, my_key); |
B-Ê÷µÄÌØÐÔ£º
1.¹Ø¼ü×Ö¼¯ºÏ·Ö²¼ÔÚÕû¿ÅÊ÷ÖУ»
2.ÈκÎÒ»¸ö¹Ø¼ü×Ö³öÏÖÇÒÖ»³öÏÖÔÚÒ»¸ö½áµãÖУ»
3.ËÑË÷ÓпÉÄÜÔÚ·ÇÒ¶×Ó½áµã½áÊø£»
4.ÆäËÑË÷ÐÔÄܵȼÛÓÚÔڹؼü×ÖÈ«¼¯ÄÚ×öÒ»´Î¶þ·Ö²éÕÒ£»
5.×Ô¶¯²ã´Î¿ØÖÆ£»
B-Ê÷µÄ×Ô¿ØÖÆ:
BÊ÷ÖÐÿһ¸öÄÚ²¿½Úµã»á°üº¬Ò»¶¨ÊýÁ¿µÄ¼üÖµ¡£Í¨³££¬¼üÖµµÄÊýÁ¿±»Ñ¡¶¨ÔÚdºÍ2dÖ®¼ä¡£ÔÚʵ¼ÊÖУ¬¼üÖµÕ¼ÓÃÁ˽ڵãÖд󲿷ֵĿռ䡣ÒòÊý2½«±£Ö¤½Úµã¿ÉÒÔ±»²ð·Ö»ò×éºÏ¡£Èç¹ûÒ»¸öÄÚ²¿½ÚµãÓÐ2d¸ö¼üÖµ£¬ÄÇôÌí¼ÓÒ»¸ö¼üÖµ¸ø´Ë½ÚµãµÄ¹ý³Ì£¬½«»á²ð·Ö2d¼üֵΪ2¸öd¼üÖµµÄ½Úµã£¬²¢°Ñ´Ë¼üÖµÌí¼Ó¸ø¸¸½Úµã¡£Ã¿Ò»¸ö²ð·ÖµÄ½ÚµãÐèÒª×îСÊýÄ¿µÄ¼üÖµ¡£ÏàËÆµØ£¬Èç¹ûÒ»¸öÄÚ²¿½ÚµãºÍËûµÄÁÚ¾ÓÁ½Õß¶¼ÓÐd¸ö¼üÖµ£¬ÄÇô½«Í¨¹ýËüÓëÁھӵĺϲ¢À´É¾³ýÒ»¸ö¼üÖµ¡£É¾³ý´Ë¼üÖµ½«µ¼Ö´˽ڵãÓµÓÐd-1¸ö¼üÖµ;ÓëÁھӵĺϲ¢Ôò¼ÓÉÏd¸ö¼üÖµ£¬ÔÙ¼ÓÉÏ´ÓÁÚ¾Ó½ÚµãµÄ¸¸½ÚµãÒÆÀ´µÄÒ»¸ö¼üÖµ¡£½á¹ûΪÍêÈ«Ìî³äµÄ2d¸ö¼üÖµ¡£
B-Ê÷µÄ¹¹Ôì¹ý³Ì£º
ÏÂÃæÊÇÍùBÊ÷ÖÐÒÀ´Î²åÈë
6 10 4 14 5 11 15 3 2 12 1 7 8 8 6 3 6 21 5 15 15
6 32 23 45 65 7 8 6 5 4

B+Tree
B-TreeÓÐÐí¶à±äÖÖ£¬ÆäÖÐ×î³£¼ûµÄÊÇB+Tree£¬ÀýÈçMySQL¾ÍÆÕ±éʹÓÃB+TreeʵÏÖÆäË÷Òý½á¹¹¡£
ÓëB-TreeÏà±È£¬B+TreeÓÐÒÔϲ»Í¬µã£º
1.·ÇÒ¶×Ó½áµãµÄ×ÓÊ÷Ö¸ÕëÓë¹Ø¼ü×Ö¸öÊýÏàͬ£»
2.·ÇÒ¶×Ó½áµãµÄ×ÓÊ÷Ö¸ÕëP[i]£¬Ö¸Ïò¹Ø¼ü×ÖÖµÊôÓÚ[K[i], K[i+1])µÄ×ÓÊ÷£¨B-Ê÷ÊÇ¿ªÇø¼ä£©£»
3.ΪËùÓÐÒ¶×Ó½áµãÔö¼ÓÒ»¸öÁ´Ö¸Õ룻
4.ËùÓйؼü×Ö¶¼ÔÚÒ¶×Ó½áµã³öÏÖ£»
5.Äڽڵ㲻´æ´¢data£¬Ö»´æ´¢key
È磺£¨M=3£©

B+µÄËÑË÷ÓëB-Ê÷Ò²»ù±¾Ïàͬ£¬Çø±ðÊÇB+Ê÷Ö»ÓдﵽҶ×Ó½áµã²ÅÃüÖУ¨B-Ê÷¿ÉÒÔÔÚ·ÇÒ¶×Ó½áµãÃüÖУ©£¬ÆäÐÔÄÜÒ²µÈ¼ÛÓÚÔڹؼü×ÖÈ«¼¯×öÒ»´Î¶þ·Ö²éÕÒ£»
B+µÄÌØÐÔ£º
1.ËùÓйؼü×Ö¶¼³öÏÖÔÚÒ¶×Ó½áµãµÄÁ´±íÖУ¨³íÃÜË÷Òý£©£¬ÇÒÁ´±íÖеĹؼü×ÖÇ¡ºÃÊÇÓÐÐòµÄ£»
2.²»¿ÉÄÜÔÚ·ÇÒ¶×Ó½áµãÃüÖУ»
3.·ÇÒ¶×Ó½áµãÏ൱ÓÚÊÇÒ¶×Ó½áµãµÄË÷Òý£¨Ï¡ÊèË÷Òý£©£¬Ò¶×Ó½áµãÏ൱ÓÚÊÇ´æ´¢£¨¹Ø¼ü×Ö£©Êý¾ÝµÄÊý¾Ý²ã£»
4.¸üÊʺÏÎļþË÷Òýϵͳ£»
B+Ê÷µÄ¹¹Ôì¹ý³Ì£º
ÏÂÃæÊÇÍùB+Ê÷ÖÐÒÀ´Î²åÈë
6 10 4 14 5 11 15 3 2 12 1 7 8 8 6 3 6 21 5 15 15
6 32 23 45 65 7 8 6 5 4

Ë÷ÒýµÄÎïÀí´æ´¢
Ò»°ãÀ´Ëµ£¬Ë÷Òý±¾ÉíÒ²ºÜ´ó£¬²»¿ÉÄÜÈ«²¿´æ´¢ÔÚÄÚ´æÖУ¬Òò´ËË÷ÒýÍùÍùÒÔË÷ÒýÎļþµÄÐÎʽ´æ´¢µÄ´ÅÅÌÉÏ¡£ÕâÑùµÄ»°£¬Ë÷Òý²éÕÒ¹ý³ÌÖоÍÒª²úÉú´ÅÅÌI/OÏûºÄ£¬Ïà¶ÔÓÚÄÚ´æ´æÈ¡£¬I/O´æÈ¡µÄÏûºÄÒª¸ß¼¸¸öÊýÁ¿¼¶£¬ËùÒÔÆÀ¼ÛÒ»¸öÊý¾Ý½á¹¹×÷ΪË÷ÒýµÄÓÅÁÓ×îÖØÒªµÄÖ¸±ê¾ÍÊÇÔÚ²éÕÒ¹ý³ÌÖдÅÅÌI/O²Ù×÷´ÎÊýµÄ½¥½ø¸´ÔÓ¶È¡£»»¾ä»°Ëµ£¬Ë÷ÒýµÄ½á¹¹×éÖ¯Òª¾¡Á¿¼õÉÙ²éÕÒ¹ý³ÌÖдÅÅÌI/OµÄ´æÈ¡´ÎÊý¡£
B-tree

¼ÙÈçÿ¸öÅÌ¿é¿ÉÒÔÕýºÃ´æ·ÅÒ»¸öBÊ÷µÄ½áµã£¨ÕýºÃ´æ·Å2¸öÎļþÃû£©¡£ÄÇôһ¸öBTNODE½áµã¾Í´ú±íÒ»¸öÅ̿飬¶ø×ÓÊ÷Ö¸Õë¾ÍÊÇ´æ·ÅÁíÍâÒ»¸öÅÌ¿éµÄµØÖ·¡£
ÏÂÃæ£¬ÔÛÃÇÀ´Ä£ÄâϲéÕÒÎļþ29µÄ¹ý³Ì£º
1.¸ù¾Ý¸ù½áµãÖ¸ÕëÕÒµ½ÎļþĿ¼µÄ¸ù´ÅÅÌ¿é1£¬½«ÆäÖеÄÐÅÏ¢µ¼ÈëÄÚ´æ¡£¡¾´ÅÅÌIO²Ù×÷ 1´Î¡¿
2.´ËʱÄÚ´æÖÐÓÐÁ½¸öÎļþÃû17¡¢35ºÍÈý¸ö´æ´¢ÆäËû´ÅÅÌÒ³ÃæµØÖ·µÄÊý¾Ý¡£¸ù¾ÝËã·¨ÎÒÃÇ·¢ÏÖ£º17<29<35£¬Òò´ËÎÒÃÇÕÒµ½Ö¸Õëp2¡£
3.¸ù¾Ýp2Ö¸Õ룬ÎÒÃǶ¨Î»µ½´ÅÅÌ¿é3£¬²¢½«ÆäÖеÄÐÅÏ¢µ¼ÈëÄÚ´æ¡£¡¾´ÅÅÌIO²Ù×÷ 2´Î¡¿
4.´ËʱÄÚ´æÖÐÓÐÁ½¸öÎļþÃû26£¬30ºÍÈý¸ö´æ´¢ÆäËû´ÅÅÌÒ³ÃæµØÖ·µÄÊý¾Ý¡£¸ù¾ÝËã·¨ÎÒÃÇ·¢ÏÖ£º26<29<30£¬Òò´ËÎÒÃÇÕÒµ½Ö¸Õëp2¡£
5.¸ù¾Ýp2Ö¸Õ룬ÎÒÃǶ¨Î»µ½´ÅÅÌ¿é8£¬²¢½«ÆäÖеÄÐÅÏ¢µ¼ÈëÄÚ´æ¡£¡¾´ÅÅÌIO²Ù×÷ 3´Î¡¿
6.´ËʱÄÚ´æÖÐÓÐÁ½¸öÎļþÃû28£¬29¡£¸ù¾ÝËã·¨ÎÒÃDzéÕÒµ½ÎļþÃû29£¬²¢¶¨Î»Á˸ÃÎļþÄÚ´æµÄ´ÅÅ̵ØÖ·¡£
·ÖÎöÉÏÃæµÄ¹ý³Ì£¬·¢ÏÖÐèÒª3´Î´ÅÅÌIO²Ù×÷ºÍ3´ÎÄÚ´æ²éÕÒ²Ù×÷¡£¹ØÓÚÄÚ´æÖеÄÎļþÃû²éÕÒ£¬ÓÉÓÚÊÇÒ»¸öÓÐÐò±í½á¹¹£¬¿ÉÒÔÀûÓÃÕÛ°ë²éÕÒÌá¸ßЧÂÊ¡£ÖÁÓÚIO²Ù×÷ÊÇÓ°ÏìÕû¸öBÊ÷²éÕÒЧÂʵľö¶¨ÒòËØ¡£
µ±È»£¬Èç¹ûÎÒÃÇʹÓÃÆ½ºâ¶þ²æÊ÷µÄ´ÅÅÌ´æ´¢½á¹¹À´½øÐвéÕÒ£¬´ÅÅÌ4´Î£¬×î¶à5´Î£¬¶øÇÒÎļþÔ½¶à£¬BÊ÷±Èƽºâ¶þ²æÊ÷ËùÓõĴÅÅÌIO²Ù×÷´ÎÊý½«Ô½ÉÙ£¬Ð§ÂÊÒ²Ô½¸ß¡£
B+tree

B+treeµÄÓŵ㣺
B+-treeµÄ´ÅÅ̶Áд´ú¼Û¸üµÍ
****B+-tree****µÄÄÚ²¿½áµã²¢Ã»ÓÐÖ¸Ïò¹Ø¼ü×Ö¾ßÌåÐÅÏ¢µÄÖ¸Õë¡£Òò´ËÆäÄÚ²¿½áµãÏà¶ÔB Ê÷¸üС¡£Èç¹û°ÑËùÓÐͬһÄÚ²¿½áµãµÄ¹Ø¼ü×Ö´æ·ÅÔÚͬһÅÌ¿éÖУ¬ÄÇôÅÌ¿éËùÄÜÈÝÄɵĹؼü×ÖÊýÁ¿Ò²Ô½¶à¡£Ò»´ÎÐÔ¶ÁÈëÄÚ´æÖеÄÐèÒª²éÕҵĹؼü×ÖÒ²¾ÍÔ½¶à¡£Ïà¶ÔÀ´ËµIO¶Áд´ÎÊýÒ²¾Í½µµÍÁË¡£
¾Ù¸öÀý×Ó£¬¼ÙÉè´ÅÅÌÖеÄÒ»¸öÅÌ¿éÈÝÄÉ16bytes£¬¶øÒ»¸ö¹Ø¼ü×Ö2bytes£¬Ò»¸ö¹Ø¼ü×Ö¾ßÌåÐÅÏ¢Ö¸Õë2bytes¡£Ò»¿Ã9½×B-tree(Ò»¸ö½áµã×î¶à8¸ö¹Ø¼ü×Ö)µÄÄÚ²¿½áµãÐèÒª2¸öÅ̿졣¶ø****B+
****Ê÷ÄÚ²¿½áµãÖ»ÐèÒª1¸öÅ̿졣µ±ÐèÒª°ÑÄÚ²¿½áµã¶ÁÈëÄÚ´æÖеÄʱºò£¬B Ê÷¾Í±È****B+ ****Ê÷¶àÒ»´ÎÅÌ¿é²éÕÒʱ¼ä(ÔÚ´ÅÅÌÖоÍÊÇÅÌÆ¬ÐýתµÄʱ¼ä)¡£
B+-treeµÄ²éѯЧÂʸü¼ÓÎȶ¨
ÓÉÓÚ·ÇÖÕ½áµã²¢²»ÊÇ×îÖÕÖ¸ÏòÎļþÄÚÈݵĽáµã£¬¶øÖ»ÊÇÒ¶×Ó½áµãÖйؼü×ÖµÄË÷Òý¡£ËùÒÔÈκιؼü×ֵIJéÕÒ±ØÐë×ßÒ»Ìõ´Ó¸ù½áµãµ½Ò¶×Ó½áµãµÄ·¡£ËùÓйؼü×Ö²éѯµÄ·¾¶³¤¶ÈÏàͬ£¬µ¼ÖÂÿһ¸öÊý¾ÝµÄ²éѯЧÂÊÏ൱¡£
mysqlµÄÁ½ÖÖ´æ´¢ÒýÇæµÄË÷Òý´æ´¢»úÖÆ
MyISAMË÷ÒýʵÏÖ
MyISAMÒýÇæÊ¹ÓÃB+Tree×÷ΪË÷Òý½á¹¹£¬Ò¶½ÚµãµÄdataÓò´æ·ÅµÄÊÇÊý¾Ý¼Ç¼µÄµØÖ·¡£ÏÂͼÊÇMyISAMË÷ÒýµÄÔÀíͼ£º

ÕâÀïÉè±íÒ»¹²ÓÐÈýÁУ¬¼ÙÉèÎÒÃÇÒÔCol1ΪÖ÷¼ü£¬ÔòÉÏͼÊÇÒ»¸öMyISAM±íµÄÖ÷Ë÷Òý£¨Primary
key£©Ê¾Òâ¡£¿ÉÒÔ¿´³öMyISAMµÄË÷ÒýÎļþ½ö½ö±£´æÊý¾Ý¼Ç¼µÄµØÖ·¡£ÔÚMyISAMÖУ¬Ö÷Ë÷ÒýºÍ¸¨ÖúË÷Òý£¨Secondary
key£©ÔڽṹÉÏûÓÐÈκÎÇø±ð£¬Ö»ÊÇÖ÷Ë÷ÒýÒªÇókeyÊÇΨһµÄ£¬¶ø¸¨ÖúË÷ÒýµÄkey¿ÉÒÔÖØ¸´¡£Èç¹ûÎÒÃÇÔÚCol2ÉϽ¨Á¢Ò»¸ö¸¨ÖúË÷Òý£¬Ôò´ËË÷ÒýµÄ½á¹¹ÈçÏÂͼËùʾ£º

ͬÑùÒ²ÊÇÒ»¿ÅB+Tree£¬dataÓò±£´æÊý¾Ý¼Ç¼µÄµØÖ·¡£Òò´Ë£¬MyISAMÖÐË÷Òý¼ìË÷µÄË㷨ΪÊ×ÏȰ´ÕÕB+TreeËÑË÷Ëã·¨ËÑË÷Ë÷Òý£¬Èç¹ûÖ¸¶¨µÄKey´æÔÚ£¬ÔòÈ¡³öÆädataÓòµÄÖµ£¬È»ºóÒÔdataÓòµÄֵΪµØÖ·£¬¶ÁÈ¡ÏàÓ¦Êý¾Ý¼Ç¼¡£
MyISAMµÄË÷Òý·½Ê½Ò²½Ð×ö¡°·Ç¾Û¼¯¡±µÄ¡£
InnoDBË÷ÒýʵÏÖ
ËäÈ»InnoDBҲʹÓÃB+Tree×÷ΪË÷Òý½á¹¹£¬µ«¾ßÌåʵÏÖ·½Ê½È´ÓëMyISAM½ØÈ»²»Í¬¡£
µÚÒ»¸öÖØ´óÇø±ðÊÇInnoDBµÄÊý¾ÝÎļþ±¾Éí¾ÍÊÇË÷ÒýÎļþ¡£´ÓÉÏÎÄÖªµÀ£¬MyISAMË÷ÒýÎļþºÍÊý¾ÝÎļþÊÇ·ÖÀëµÄ£¬Ë÷ÒýÎļþ½ö±£´æÊý¾Ý¼Ç¼µÄµØÖ·¡£¶øÔÚInnoDBÖУ¬±íÊý¾ÝÎļþ±¾Éí¾ÍÊǰ´B+Tree×éÖ¯µÄÒ»¸öË÷Òý½á¹¹£¬Õâ¿ÃÊ÷µÄÒ¶½ÚµãdataÓò±£´æÁËÍêÕûµÄÊý¾Ý¼Ç¼¡£Õâ¸öË÷ÒýµÄkeyÊÇÊý¾Ý±íµÄÖ÷¼ü£¬Òò´ËInnoDB±íÊý¾ÝÎļþ±¾Éí¾ÍÊÇÖ÷Ë÷Òý¡£

ÉÏͼÊÇInnoDBÖ÷Ë÷Òý£¨Í¬Ê±Ò²ÊÇÊý¾ÝÎļþ£©µÄʾÒâͼ£¬¿ÉÒÔ¿´µ½Ò¶½Úµã°üº¬ÁËÍêÕûµÄÊý¾Ý¼Ç¼¡£ÕâÖÖË÷Òý½Ð×ö¾Û¼¯Ë÷Òý¡£ÒòΪInnoDBµÄÊý¾ÝÎļþ±¾ÉíÒª°´Ö÷¼ü¾Û¼¯£¬ËùÒÔInnoDBÒªÇó±í±ØÐëÓÐÖ÷¼ü£¨MyISAM¿ÉÒÔûÓУ©£¬Èç¹ûûÓÐÏÔʽָ¶¨£¬ÔòMySQLϵͳ»á×Ô¶¯Ñ¡ÔñÒ»¸ö¿ÉÒÔΨһ±êʶÊý¾Ý¼Ç¼µÄÁÐ×÷ΪÖ÷¼ü£¬Èç¹û²»´æÔÚÕâÖÖÁУ¬ÔòMySQL×Ô¶¯ÎªInnoDB±íÉú³ÉÒ»¸öÒþº¬×Ö¶Î×÷ΪÖ÷¼ü£¬Õâ¸ö×ֶ㤶ÈΪ6¸ö×Ö½Ú£¬ÀàÐÍΪ³¤ÕûÐΡ£
µÚ¶þ¸öÓëMyISAMË÷ÒýµÄ²»Í¬ÊÇInnoDBµÄ¸¨ÖúË÷ÒýdataÓò´æ´¢ÏàÓ¦¼Ç¼Ö÷¼üµÄÖµ¶ø²»ÊǵØÖ·¡£»»¾ä»°Ëµ£¬InnoDBµÄËùÓи¨ÖúË÷Òý¶¼ÒýÓÃÖ÷¼ü×÷ΪdataÓò¡£ÀýÈ磬¶¨ÒåÔÚCol3ÉϵÄÒ»¸ö¸¨ÖúË÷Òý£º

ÕâÀïÒÔÓ¢ÎÄ×Ö·ûµÄASCIIÂë×÷Ϊ±È½Ï×¼Ôò¡£¾Û¼¯Ë÷ÒýÕâÖÖʵÏÖ·½Ê½Ê¹µÃ°´Ö÷¼üµÄËÑË÷Ê®·Ö¸ßЧ£¬µ«ÊǸ¨ÖúË÷ÒýËÑË÷ÐèÒª¼ìË÷Á½±éË÷Òý£ºÊ×ÏȼìË÷¸¨ÖúË÷Òý»ñµÃÖ÷¼ü£¬È»ºóÓÃÖ÷¼üµ½Ö÷Ë÷ÒýÖмìË÷»ñµÃ¼Ç¼¡£
Á˽ⲻͬ´æ´¢ÒýÇæµÄË÷ÒýʵÏÖ·½Ê½¶ÔÓÚÕýȷʹÓúÍÓÅ»¯Ë÷Òý¶¼·Ç³£ÓаïÖú£¬ÀýÈçÖªµÀÁËInnoDBµÄË÷ÒýʵÏֺ󣬾ͺÜÈÝÒ×Ã÷°×Ϊʲô²»½¨ÒéʹÓùý³¤µÄ×Ö¶Î×÷ΪÖ÷¼ü£¬ÒòΪËùÓи¨ÖúË÷Òý¶¼ÒýÓÃÖ÷Ë÷Òý£¬¹ý³¤µÄÖ÷Ë÷Òý»áÁÖúË÷Òý±äµÃ¹ý´ó¡£ÔÙÀýÈ磬Ó÷ǵ¥µ÷µÄ×Ö¶Î×÷ΪÖ÷¼üÔÚInnoDBÖв»ÊǸöºÃÖ÷Ò⣬ÒòΪInnoDBÊý¾ÝÎļþ±¾ÉíÊÇÒ»¿ÅB+Tree£¬·Çµ¥µ÷µÄÖ÷¼ü»áÔì³ÉÔÚ²åÈëмǼʱÊý¾ÝÎļþΪÁËά³ÖB+TreeµÄÌØÐÔ¶øÆµ·±µÄ·ÖÁѵ÷Õû£¬Ê®·ÖµÍЧ£¬¶øÊ¹ÓÃ×ÔÔö×Ö¶Î×÷ΪÖ÷¼üÔòÊÇÒ»¸öºÜºÃµÄÑ¡Ôñ¡£
|