È«Íø×îÈ«µÄһƪÊý¾Ý¿âMVCCÏê½â£¬²»È«ÎÒ¸ºÔð
ʲôÊÇMVCC
È«³ÆMulti-Version Concurrency Control£¬¼´¶à°æ±¾²¢·¢²Ù×Ý
£¬Ö÷Èç¹ûΪÁËÌá¸ßÊý¾Ý¿âµÄ²¢·¢»úÄÜ
¡£ÒÔÏÂÎÄÕ¶¼ÊÇ»·ÈÆInnoDBÒýÇæÀ´½²£¬ÓÉÓÚmyIsam²»Ö§³ÅÊÂÎñ¡£
ͳһÐÐÊý¾Ýƽ³£·¢Éú¶Áд¿ÒÇóʱ£¬»áÉÏËø¶ÂÈû
ס¡£µ«mvccÓøüºÃµÄ·½Ê½È¥´¦ÖöÁ¡ªÐ´¿ÒÇó£¬×öµ½ÔÚ·¢Éú¶Á¡ªÐ´¿ÒÇó³åͻʱ²»Ïû¼ÓËø
¡£
Õâ¸ö¶ÁÊÇÖ¸µÄ¿ìÕÕ¶Á
£¬¶ø²»Êǵ±Ç°¶Á
£¬µ±Ç°¶ÁÊÇÒ»ÖÖ¼ÓËø²Ù×Ý£¬ÊDZ¯²»ÑÅËø
¡£
ÄÇËüµ½µ×ÊÇÈçºÎ×öµ½¶Á¡ªÐ´²»Ïû¼ÓËø
µÄ£¬¿ìÕÕ¶Á
ºÍµ±Ç°¶Á
ÓÖÊÇɶ¹í£¬¸ú×ÅÄãÃǵÄÖªÐÄÀϸç
£¬Á¬ÐøÍùÏ¿´¡£
![](/uploads/allimg/200930/c0dae2e36cefd6c5df60c0b501f2d375-017041.png)
µ±Ç°¶Á¡¢¿ìÕÕ¶Á¶¼ÊÇɶ¹í
ʲôÊÇMySQL InnoDBϵĵ±Ç°¶ÁºÍ¿ìÕÕ¶Á£¿
µ±Ç°¶Á
Ëü¶ÁÈ¡µÄÊý¾Ý¿â¼ÇÔØ£¬¶¼Êǵ±Ç°×îÐÂ
µÄ°æ±¾
£¬»á¶Ôµ±Ç°¶ÁÈ¡µÄÊý¾ÝÍ£Ö¹¼ÓËø
£¬·ÀÖ¹ÆäËûÊÂÎñÐÞ¸ÄÊý¾Ý¡£ÊDZ¯²»ÑÅËø
µÄÒ»ÖÖ²Ù×Ý¡£
ÈçϲÙ×ݶ¼Êǵ±Ç°¶Á£º
select lock in share mode (ͬÏíËø)
select for update (ÅÅËûËø)
update (ÅÅËûËø)
insert (ÅÅËûËø)
delete (ÅÅËûËø)
´®Ðл¯ÊÂÎñ¸ôÀ뼶±ð
¿ìÕÕ¶Á
¿ìÕÕ¶ÁµÄʵÏÖÊÇ»ùÓÚ¶à°æ±¾
²¢·¢²Ù×Ý£¬¼´MVCC£¬¼ÈÈ»ÊǶà°æ±¾£¬ÄÇô¿ìÕÕ¶Á¶Áµ½µÄÊý¾Ý²»±ØÈ»Êǵ±Ç°×îеÄÊý¾Ý£¬Óдó¸ÅÊÇ´ËÇ°ÀúÊ·°æ±¾
µÄÊý¾Ý¡£
ÈçϲÙ×ÝÊÇ¿ìÕÕ¶Á£º
- ²»¼ÓËøµÄselect²Ù×Ý£¨×¢£ºÊÂÎñ¼¶±ð²»ÊÇ´®Ðл¯£©
¿ìÕÕ¶ÁÓëmvccµÄ¹Øϵ
MVCCC
ÊÇ¡°±£³ÖÒ»¸öÊý¾ÝµÄ¶à¸ö°æ±¾£¬Ê¹¶Áд²Ù×ÝûÓгåÍ»¡±µÄÒ»¸ö³éÏó¸ÅÄî
¡£
Õâ¸ö¸ÅÄîÐèÒªÏêϸ¹¦Ð§È¥ÊµÏÖ£¬Õâ¸öÏêϸʵÏÖ¾ÍÊÇ¿ìÕÕ¶Á
¡££¨ÏêϸʵÏÖÏÂÃæ½²£©
ÌýÍêÖªÐÄÀϸç
µÄ½²½â£¬ÊDz»ÊÇ˲ʱé²Þ¶Ù¿ª
¡£
![](/uploads/allimg/200930/7d239fc720ed0f548d4d994272398847-117044.png)
Êý¾Ý¿â²¢·¢³¡¾°
¶Á-¶Á
£º²»´æÔÚÈκÎÎÊÌ⣬Ҳ²»ÐèÒª²¢·¢²Ù×ݶÁ-д
£ºÓÐÏß³Ìƽ°²ÎÊÌ⣬´ó¸Å»áÔì³ÉÊÂÎñ¸ôÀëÐÔÎÊÌ⣬´ó¸ÅÅöµ½Ôà¶Á£¬»Ã¶Á£¬²»³É·´¸´¶Áд-д
£ºÓÐÏß³Ìƽ°²ÎÊÌ⣬´ó¸Å»á´æÔÚ¸üÐÂɥʧÎÊÌ⣬±È·½µÚÒ»Àà¸üÐÂɥʧ£¬µÚ¶þÀà¸üÐÂɥʧ
MVCC½â¾ö²¢·¢ÄÄЩÎÊÌ⣿
mvccÓÃÀ´½â¾ö¶Á¡ªÐ´³åÍ»µÄÎÞËø²¢·¢²Ù×Ý£¬¾ÍÊÇΪÊÂÎñ·ÖÅäµ¥ÏòÔö³¤
µÄʱ¼ä´Á
¡£ÎªÃ¿¸öÊý¾ÝÐÞ¸ÄÁô´æÒ»¸ö°æ±¾
£¬°æ±¾ÓëÊÂÎñʱ¼ä´ÁÏà¹ØÁª
¡£
¶Á²Ù×ÝÖ»¶ÁÈ¡
¸ÃÊÂÎñ¿ª¶ËÇ°
µÄÊý¾Ý¿â¿ìÕÕ
¡£
½â¾öÎÊÌâÈçÏ£º
²¢·¢¶Á-дʱ
£º¿ÉÒÔ×öµ½¶Á²Ù×ݲ»¶ÂÈûд²Ù×Ý£¬Í¬Ê±Ð´²Ù×ÝÒ²²»»á¶ÂÈû¶Á²Ù×Ý¡£½â¾ö
Ôà¶Á
¡¢»Ã¶Á
¡¢²»³É·´¸´¶Á
µÈÊÂÎñ¸ôÀëÎÊÌ⣬µ«²»¿Ë²»¼°½â¾öÉÏÃæµÄд-д ¸üÐÂɥʧ
ÎÊÌâ¡£
Òò´ËÓÐÁËÏÂÃæÌá¸ß²¢·¢»úÄܵÄ×éºÏÈ
£º
MVCC + ±¯²»ÑÅËø
£ºMVCC½â¾ö¶Áд³åÍ»£¬±¯²»ÑÅËø½â¾öдд³åÍ»MVCC + ±¯¹ÛËø
£ºMVCC½â¾ö¶Áд³åÍ»£¬±¯¹ÛËø½â¾öдд³åÍ»
MVCCµÄʵÏÖµÀÀí
ËüµÄʵÏÖµÀÀíÖ÷Èç¹û°æ±¾Á´
£¬undoÈÕÖ¾
£¬Read View
À´ÊµÏÖµÄ
°æ±¾Á´
ÎÒÃÇÊý¾Ý¿âÖеÄÿÐÐÊý¾Ý£¬³ýÁËÎÒÃÇÈâÑÛ¿´¼ûµÄÊý¾Ý£¬»¹Óм¸¸öDZ²Ø×Ö¶Î
£¬µÃ¿ªÌìÑÛ
²ÅÄÜ¿´µ½¡£Àë±ðÊÇdb_trx_id
¡¢db_roll_pointer
¡¢db_row_id
¡£
db_trx_id
6byte£¬±ÈÀ´ÐÞ¸Ä(ÐÞ¸Ä/²åÈë)
ÊÂÎñID
£º¼ÇÔØ´´Á¢
Õâ±Ê¼Ç¼/×îºóÒ»´ÎÐÞ¸Ä
¸Ã¼ÇÔصÄÊÂÎñID
¡£db_roll_pointer£¨°æ±¾Á´¹Ø¼ü£©
7byte£¬
»Ø¹öÖ¸Õë
£¬Ö¸ÏòÕâ±Ê¼Ç¼
µÄÉÏÒ»¸ö°æ±¾
£¨´¢±¸ÓÚrollback segmentÀdb_row_id
6byte£¬Òþº¬µÄ
×ÔÔöID
£¨Ç±²ØÖ÷¼ü£©£¬¼ÙÈçÊý¾Ý±íûÓÐÖ÷¼ü
£¬InnoDB»áÖ÷¶¯ÒÔdb_row_id·¢ÉúÒ»¸ö¾Û´ØË÷Òý
¡£Êµ¼Ê»¹ÓÐÒ»¸ö
ɾ³ýflag
DZ²Ø×Ö¶Î, ¼ÇÔر»¸üÐÂ
»òɾ³ý
²¢²»´ú±íÕæµÄɾ³ý£¬¶øÊÇɾ³ýflag
±äÁË
![](/uploads/allimg/200930/7d239fc720ed0f548d4d994272398847-217048.png)
ÈçÉÏͼ£¬db_row_id
ÊÇÊý¾Ý¿âĬÐíΪ¸ÃÐмÇÔØÉú³ÉµÄ¶ÀÒ»ÒþʽÖ÷¼ü
£¬db_trx_id
Êǵ±Ç°²Ù×ݸüÇÔصÄÊÂÎñID
£¬¶ødb_roll_pointer
ÊÇÒ»¸ö»Ø¹öÖ¸Õë
£¬ÓÃÓÚÅäºÏundoÈÕÖ¾
£¬Ö¸ÏòÉÏÒ»¸ö¾É°æ±¾
¡£
ÿ´Î¶ÔÊý¾Ý¿â¼ÇÔØÍ£Ö¹¸Ä¶¯£¬¶¼»á¼ÇÔØÒ»ÌõundoÈÕÖ¾
£¬Ã¿ÌõundoÈÕÖ¾Ò²¶¼ÓÐÒ»¸öroll_pointer
ÊôÐÔ£¨INSERT²Ù×ݶÔÓ¦µÄundoÈÕ־ûÓиÃÊôÐÔ£¬ÓÉÓڸüÇÔز¢Ã»ÓиüÔçµÄ°æ±¾£©£¬¿ÉÒÔ½«ÕâЩundoÈÕÖ¾¶¼Á¬ÆðÀ´
£¬´®³ÉÒ»¸öÁ´±í
£¬ËùÒԴ˿̵Ä×´¿ö¾ÍÏñÏÂͼһÑù£º
![](/uploads/allimg/200930/7d239fc720ed0f548d4d994272398847-317051.png)
¶Ô¸Ã¼ÇÔØÿ´Î¸üк󣬶¼»á½«¾ÉÖµ·Åµ½Ò»ÌõundoÈÕÖ¾ÖУ¬¾ÍËãÊǸüÇÔصÄÒ»¸ö¾É°æ±¾£¬ËæןüдÎÊýµÄÔö¶à£¬ËùÓеİ汾¶¼»á±»roll_pointer
ÊôÐÔÁ¬½Ó³ÉÒ»¸öÁ´±í
£¬ÎÒÃÇ°ÑÕâ¸öÁ´±í³Æ֮Ϊ°æ±¾Á´
£¬°æ±¾Á´µÄÍ·½Úµã¾ÍÊǵ±Ç°¼ÇÔØ×îеÄÖµ¡£±ðµÄ£¬Ã¿¸ö°æ±¾Öл¹°üÀ¨Éú³É¸Ã°æ±¾Ê±¶ÔÓ¦µÄÊÂÎñid£¬Õâ¸öÐÅÏ¢ºÜÖØÒª£¬ÔÚ°´ÕÕReadViewÍƶϰ汾¿É¼ûÐÔµÄʱºò»áÓõ½¡£
undoÈÕÖ¾
Undo log Ö÷ÒªÓÃÓÚ¼ÇÔØ
Êý¾Ý±»Ð޸ĴËÇ°
µÄÈÕÖ¾£¬ÔÚ±íÐÅÏ¢Ð޸ĴËÇ°ÏÈ»á°ÑÊý¾Ý¿½±´µ½undo log
Àï¡£
µ±ÊÂÎñ
Í£Ö¹»Ø¹öʱ
¿ÉÒÔͨ¹ýundo log ÀïµÄÈÕ־ֹͣÊý¾Ý¸´Ô
¡£
Undo log µÄÓô¦
°ü¹Ü
ÊÂÎñ
Í£Ö¹rollback
ʱµÄÔ×ÓÐÔºÍÒ»ÖÂÐÔ
£¬µ±ÊÂÎñÍ£Ö¹»Ø¹ö
µÄʱºò¿ÉÒÔÓÃundo logµÄÊý¾ÝÍ£Ö¹¸´Ô
¡£ÓÃÓÚMVCC
¿ìÕÕ¶Á
µÄÊý¾Ý£¬ÔÚMVCC¶à°æ±¾²Ù×ÝÖУ¬Í¨¹ý¶ÁÈ¡undo log
µÄÀúÊ·°æ±¾Êý¾Ý
¿ÉÒÔʵÏÖ²»Ò»ÑùÊÂÎñ°æ±¾ºÅ
¶¼¾ßÓб¾È˶ÀÁ¢µÄ¿ìÕÕÊý¾Ý°æ±¾
¡£
undo logÖ÷Òª·ÖΪÁ½ÖÖ£º
insert undo log
´ú±íÊÂÎñÔÚinsertмÇÔØʱ·¢ÉúµÄundo log , Ö»ÔÚÊÂÎñ»Ø¹öʱÐèÒª£¬²¢ÇÒÔÚÊÂÎñÌá½»ºó¿ÉÒÔ±»ÂíÉÏÅ×Æú
update undo log£¨Ö÷Òª£©
ÊÂÎñÔÚÍ£Ö¹update»òdeleteʱ·¢ÉúµÄundo log ; ²»½öÔÚÊÂÎñ»Ø¹öʱÐèÒª£¬ÔÚ¿ìÕÕ¶ÁʱҲÐèÒª£»
ËùÒÔ²»¿Ë²»¼°ËæÒâɾ³ý£¬Ö»ÒªÔÚ¿ìËÙ¶Á»òÊÂÎñ»Ø¹ö²»´¥¼°¸ÃÈÕ־ʱ£¬¶ÔÓ¦µÄÈÕÖ¾²Å»á±»purgeÏß³ÌͳһÇå³ý
Read View(¶ÁÊÓͼ)
ÊÂÎñÍ£Ö¹¿ìÕÕ¶Á
²Ù×ݵÄʱºòÉú²úµÄ¶ÁÊÓͼ
(Read View)£¬ÔÚ¸ÃÊÂÎñÊ©ÐеĿìÕÕ¶ÁµÄÄÇÒ»¿Ì£¬»áÉú³ÉÊý¾Ý¿âϵͳµ±Ç°µÄÒ»¸ö¿ìÕÕ
¡£
¼ÇÔز¢±£»¤ÏµÍ³µ±Ç°»îÆÃÊÂÎñµÄID
(ûÓÐcommit£¬µ±Ã¿¸öÊÂÎñ¿ªÆôʱ£¬¶¼»á±»·ÖÅäÒ»¸öID, Õâ¸öIDÊǵÝÔöµÄ£¬ËùÒÔԽеÄÊÂÎñ£¬IDÖµÔ½´ó)£¬ÊÇϵͳÖе±Ç°²»¸Ã¸Ã±»±¾ÁìÎñ
¿´µ½µÄÆäËûÊÂÎñidÁбí
¡£
Read ViewÖ÷Èç¹ûÓÃÀ´×ö¿É¼ûÐÔ
ÍƶϵÄ, ¼´µ±ÎÒÃÇij¸öÊÂÎñ
Ê©ÐпìÕÕ¶Á
µÄʱºò£¬¶Ô¸Ã¼ÇÔØ´´Á¢Ò»¸öRead View¶ÁÊÓͼ£¬°ÑËü±È×÷Ç°ÌáÓÃÀ´Íƶϵ±Ç°ÊÂÎñ
Äܹ»¿´µ½Äĸö°æ±¾
µÄÊý¾Ý£¬¼È´ó¸ÅÊǵ±Ç°×îÐÂ
µÄÊý¾Ý£¬Ò²Óдó¸ÅÊǸÃÐмÇÔصÄundo logÀïÃæµÄij¸ö°æ±¾
µÄÊý¾Ý¡£
Read View¼¸¸öÊôÐÔ
trx_ids
: µ±Ç°ÏµÍ³»îÆÃ(δÌá½»
)ÊÂÎñ°æ±¾ºÅ»ãºÏ¡£low_limit_id
: ´´Á¢µ±Ç°read view ʱ¡°µ±Ç°ÏµÍ³×î´óÊÂÎñ°æ±¾ºÅ
+1¡±¡£up_limit_id
: ´´Á¢µ±Ç°read view ʱ¡°ÏµÍ³Õý´¦ÓÚ»îÆÃÊÂÎñ×îС°æ±¾ºÅ
¡±creator_trx_id
: ´´Á¢µ±Ç°read viewµÄÊÂÎñ°æ±¾ºÅ£»
Read View¿É¼ûÐÔÍƶÏÇ°Ìá
db_trx_id
<up_limit_id
||db_trx_id
==creator_trx_id
£¨ÏÔʾ£©¼ÙÈçÊý¾ÝÊÂÎñIDСÓÚread viewÖеÄ
×îС»îÆÃÊÂÎñID
£¬Ôò¿ÉÒԱض¨¸ÃÊý¾ÝÊÇÔÚµ±Ç°ÊÂÎñÆô´ËÇ°
¾ÍÒѾ´æÔÚ
Á˵Ä,ËùÒÔ¿ÉÒÔÏÔʾ
¡£»òÕßÊý¾ÝµÄ
ÊÂÎñID
µÈÓÚcreator_trx_id
£¬ÄÇô˵Ã÷Õâ¸öÊý¾Ý¾ÍÊǵ±Ç°ÊÂÎñ±¾ÈËÉú³ÉµÄ
£¬±¾ÈËÉú³ÉµÄÊý¾Ý±¾È˵±È»ÄÜ¿´¼û£¬ËùÒÔÕâÖÖ×´¿öÏ´ËÊý¾ÝÒ²ÊÇ¿ÉÒÔÏÔʾ
µÄ¡£db_trx_id
>=low_limit_id
£¨²»ÏÔʾ£©¼ÙÈçÊý¾ÝÊÂÎñID´óÓÚread view Öеĵ±Ç°ÏµÍ³µÄ
×î´óÊÂÎñID
£¬Ôò˵Ã÷¸ÃÊý¾ÝÊÇÔÚµ±Ç°read view ´´Á¢Ö®ºó²Å·¢Éú
µÄ£¬ËùÒÔÊý¾Ý²»ÏÔʾ
¡£¼ÙÈçСÓÚÔò½øÈëÏÂÒ»¸öÍƶÏdb_trx_id
¿É·ñÔÚ»îÆÃÊÂÎñ
£¨trx_ids£©Öв»´æÔÚ
£ºÔò˵Ã÷read view·¢ÉúµÄʱºòÊÂÎñÒѾcommit
ÁË£¬ÕâÖÖ×´¿öÊý¾ÝÔò¿ÉÒÔÏÔʾ
¡£ÒÑ´æÔÚ
£ºÔò´ú±íÎÒRead ViewÉú³Éʱ¿Ì£¬ÄãÕâ¸öÊÂÎñ»¹ÔÚ»îÆ㬻¹Ã»ÓÐCommit£¬ÄãÐ޸ĵÄÊý¾Ý£¬ÎÒµ±Ç°ÊÂÎñÒ²ÊÇ¿´²»¼ûµÄ¡£
![](/uploads/allimg/200930/13716068d9b8460986d4b13c7d992d53-517054.png)
MVCCºÍÊÂÎñ¸ôÀ뼶±ð
ÉÏÃæËù½²µÄRead View
ÓÃÓÚÖ§³ÅRC
£¨Read Committed£¬¶ÁÌá½»£©ºÍRR
£¨Repeatable Read£¬¿É·´¸´¶Á£©¸ôÀ뼶±ð
µÄʵÏÖ
¡£
RR¡¢RCÉú³Éʱ»ú
RC
¸ôÀ뼶±ðÏ£¬ÊÇÿ¸ö¿ìÕÕ¶Á
¶¼»áÉú³É²¢ÁÔÈ¡×îÐÂ
µÄRead View
£»¶øÔÚ
RR
¸ôÀ뼶±ðÏ£¬ÔòÊÇͳһ¸öÊÂÎñÖÐ
µÄµÚÒ»¸ö¿ìÕÕ¶Á
²Å»á´´Á¢Read View
,Ö®ºóµÄ
¿ìÕÕ¶ÁÁÔÈ¡µÄ¶¼ÊÇͳһ¸öRead View
£¬Ö®ºóµÄ²éѯ¾Í²»»á·´¸´Éú³É
ÁË£¬ËùÒÔÒ»¸öÊÂÎñµÄ²éѯ½á¹ûÿ´Î¶¼ÊÇÒ»ÑùµÄ
¡£
½â¾ö»Ã¶ÁÎÊÌâ
¿ìÕÕ¶Á
£ºÍ¨¹ýMVCCÀ´Í£Ö¹²Ù×ݵģ¬²»Ïû¼ÓËø¡£ÒÀÕÕMVCCÖй涨µÄ¡°Óï·¨¡±Í£Ö¹Ôöɾ¸Ä²éµÈ²Ù×Ý£¬ÒÔÐÒÃâ»Ã¶Á¡£µ±Ç°¶Á
£ºÍ¨¹ýnext-keyËø£¨ÐÐËø+gapËø£©À´½â¾öÎÊÌâµÄ¡£
RC¡¢RR¼¶±ðϵÄInnoDB¿ìÕÕ¶Á²»Í¬
ÔÚRR¼¶±ðϵÄij¸öÊÂÎñµÄ¶Ôij±Ê¼Ç¼µÄµÚÒ»´Î¿ìÕÕ¶Á»á´´Á¢Ò»¸ö¿ìÕÕ¼°Read View£¬ ½«µ±Ç°ÏµÍ³»îÆõÄÆäËûÊÂÎñ¼ÇÔØÆðÀ´£¬´ËºóÔÚµ÷È¡¿ìÕÕ¶ÁµÄʱºò£¬»¹ÊÇʹÓõÄÊÇͳһ¸öRead View£¬ËùÒÔÖ»Òªµ±Ç°ÊÂÎñÔÚÆäËûÊÂÎñÌá½»¸üдËǰʹÓùý¿ìÕÕ¶Á£¬ÄÇô֮ºóµÄ¿ìÕÕ¶ÁʹÓõĶ¼ÊÇͳһ¸öRead View£¬ËùÒÔ¶ÔÖ®ºóµÄÐ޸IJ»³É¼û£»
¼´RR¼¶±ðÏ£¬¿ìÕÕ¶ÁÉú³ÉRead Viewʱ£¬Read View»á¼ÇÔØ´ËʱËùÓÐÆäËû»î¶¯ÊÂÎñµÄ¿ìÕÕ£¬ÕâЩÊÂÎñµÄÐ޸ĹØÓÚµ±Ç°ÊÂÎñ¶¼ÊDz»³É¼ûµÄ¡£¶øÔçÓÚRead View´´Á¢µÄÊÂÎñËù×öµÄÐ޸ľùÊǿɼû
¶øÔÚRC¼¶±ðϵģ¬ÊÂÎñÖУ¬Ã¿´Î¿ìÕÕ¶Á¶¼»áÐÂÉú³ÉÒ»¸ö¿ìÕÕºÍRead View, Õâ¾ÍÊÇÎÒÃÇÔÚRC¼¶±ðϵÄÊÂÎñÖпÉÒÔ¿´µ½±ðµÄÊÂÎñÌá½»µÄ¸üеÄÔµÓÉ
×ܽá
´ÓÒÔÉϵÄÃèдÖÐÎÒÃÇ¿ÉÒÔ¿´³öÀ´£¬ËùνµÄMVCCÖ¸µÄ¾ÍÊÇÔÚʹÓÃREAD COMMITTD
¡¢REPEATABLE READ
ÕâÁ½ÖÖ¸ôÀ뼶±ðµÄÊÂÎñÔÚÊ©ÐÐÒ»°ãµÄSEELCT
²Ù×Ýʱ°Ý·Ã¼ÇÔصİ汾Á´
µÄÀú³Ì£¬ÕâÄ£Ñù¿ÉÒÔʹ²»Ò»ÑùÊÂÎñµÄ¶Á-д
¡¢Ð´-¶Á
²Ù×ݲ¢·¢Ê©ÐÐ
£¬´Ó¶ø½úÉýϵͳ»úÄÜ
¡£
![È¡Ïû](http://www.baidow.com/ds/img/close.jpg)
![°Ù·Ö°ÙÔ´ÂëÍø](http://www.baidow.com/ds/img/logos.png)
¸ÐлÄúµÄÖ§³Ö£¬ÎÒ»á¼ÌÐøŬÁ¦µÄ!
![ɨһɨ ɨÂëÖ§³Ö](http://www.baidow.com/ds/img/alipayimg.jpg)
![Ö§¸¶±¦](http://www.baidow.com/ds/img/alipay.jpg)
![΢ÐÅ](http://www.baidow.com/ds/img/wechat.jpg)
´ò¿ªÖ§¸¶±¦É¨Ò»É¨£¬¼´¿É½øÐÐɨÂë´òÉÍŶ
°Ù·Ö°ÙÔ´ÂëÍø ½¨Òé´òÉÍ1¡«10Ôª£¬ÍÁºÀËæÒ⣬¸ÐлÄúµÄÔĶÁ£¡