Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
¶þÊ®ÖÖʵսµ÷ÓÅMySQLÐÔÄÜÓÅ»¯µÄ¾­Ñé
 
  3000  次浏览      31
 2018-3-27  
 
±à¼­ÍƼö:
±¾ÎÄÀ´×ÔÓÚcsdn,±¾ÎĽ«Îª´ó¼Ò½éÉܵÄÊǶþÊ®ÌõMySQLÐÔÄÜÓÅ»¯µÄ¾­Ñ飬ÕâЩС¾­ÑéÓÐÖúÓÚ´ó¼Ò¸üºÃµÄʹÓÃMySQL½øÐÐWEB¿ª·¢¡£

½ñÌ죬Êý¾Ý¿âµÄ²Ù×÷Ô½À´Ô½³ÉΪÕû¸öÓ¦ÓõÄÐÔÄÜÆ¿¾±ÁË£¬Õâµã¶ÔÓÚWebÓ¦ÓÃÓÈÆäÃ÷ÏÔ¡£¹ØÓÚÊý¾Ý¿âµÄÐÔÄÜ£¬Õâ²¢²»Ö»ÊÇDBA²ÅÐèÒªµ£ÐĵÄÊ£¬¶øÕâ¸üÊÇÎÒÃdzÌÐòÔ±ÐèҪȥ¹Ø×¢µÄÊÂÇé¡£µ±ÎÒÃÇÈ¥Éè¼ÆÊý¾Ý¿â±í½á¹¹£¬¶Ô²Ù×÷Êý¾Ý¿âʱ(ÓÈÆäÊDzé±íʱµÄSQLÓï¾ä)£¬ÎÒÃǶ¼ÐèҪעÒâÊý¾Ý²Ù×÷µÄÐÔÄÜ¡£ÕâÀÎÒÃDz»»á½²¹ý¶àµÄSQLÓï¾äµÄÓÅ»¯£¬¶øÖ»ÊÇÕë¶ÔMySQLÕâÒ»WebÓ¦ÓÃ×î¶àµÄÊý¾Ý¿â¡£Ï£ÍûÏÂÃæµÄÕâЩÓÅ»¯¼¼ÇɶÔÄãÓÐÓá£

1. Ϊ²éѯ»º´æÓÅ»¯ÄãµÄ²éѯ

´ó¶àÊýµÄMySQL·þÎñÆ÷¶¼¿ªÆôÁ˲éѯ»º´æ¡£ÕâÊÇÌá¸ßÐÔ×îÓÐЧµÄ·½·¨Ö®Ò»£¬¶øÇÒÕâÊDZ»MySQLµÄÊý¾Ý¿âÒýÇæ´¦ÀíµÄ¡£µ±ÓкܶàÏàͬµÄ²éѯ±»Ö´ÐÐÁ˶à´ÎµÄʱºò£¬ÕâЩ²éѯ½á¹û»á±»·Åµ½Ò»¸ö»º´æÖУ¬ÕâÑù£¬ºóÐøµÄÏàͬµÄ²éѯ¾Í²»ÓòÙ×÷±í¶øÖ±½Ó·ÃÎÊ»º´æ½á¹ûÁË¡£

ÕâÀï×îÖ÷ÒªµÄÎÊÌâÊÇ£¬¶ÔÓÚ³ÌÐòÔ±À´Ëµ£¬Õâ¸öÊÂÇéÊǺÜÈÝÒ×±»ºöÂԵġ£ÒòΪ£¬ÎÒÃÇijЩ²éѯÓï¾ä»áÈÃMySQL²»Ê¹Óûº´æ¡£Çë¿´ÏÂÃæµÄʾÀý£º

ÉÏÃæÁ½ÌõSQLÓï¾äµÄ²î±ð¾ÍÊÇ CURDATE() £¬MySQLµÄ²éѯ»º´æ¶ÔÕâ¸öº¯Êý²»Æð×÷Óá£ËùÒÔ£¬Ïñ NOW() ºÍ RAND() »òÊÇÆäËüµÄÖîÈç´ËÀàµÄSQLº¯Êý¶¼²»»á¿ªÆô²éѯ»º´æ£¬ÒòΪÕâЩº¯ÊýµÄ·µ»ØÊǻ᲻¶¨µÄÒ×±äµÄ¡£ËùÒÔ£¬ÄãËùÐèÒªµÄ¾ÍÊÇÓÃÒ»¸ö±äÁ¿À´´úÌæMySQLµÄº¯Êý£¬´Ó¶ø¿ªÆô»º´æ¡£

2. EXPLAIN ÄãµÄ SELECT ²éѯ

ʹÓà EXPLAIN ¹Ø¼ü×Ö¿ÉÒÔÈÃÄãÖªµÀMySQLÊÇÈçºÎ´¦ÀíÄãµÄSQLÓï¾äµÄ¡£Õâ¿ÉÒÔ°ïÄã·ÖÎöÄãµÄ²éѯÓï¾ä»òÊDZí½á¹¹µÄÐÔÄÜÆ¿¾±¡£

EXPLAIN µÄ²éѯ½á¹û»¹»á¸æËßÄãÄãµÄË÷ÒýÖ÷¼ü±»ÈçºÎÀûÓõģ¬ÄãµÄÊý¾Ý±íÊÇÈçºÎ±»ËÑË÷ºÍÅÅÐòµÄ¡­¡­µÈµÈ£¬µÈµÈ¡£

ÌôÒ»¸öÄãµÄSELECTÓï¾ä(ÍÆ¼öÌôÑ¡ÄǸö×Ôӵģ¬Óжà±íÁª½ÓµÄ)£¬°Ñ¹Ø¼ü×ÖEXPLAIN¼Óµ½Ç°Ãæ¡£Äã¿ÉÒÔʹÓÃphpmyadminÀ´×öÕâ¸öÊ¡£È»ºó£¬Äã»á¿´µ½Ò»Õűí¸ñ¡£ÏÂÃæµÄÕâ¸öʾÀýÖУ¬ÎÒÃÇÍü¼Ç¼ÓÉÏÁËgroup_idË÷Òý£¬²¢ÇÒÓбíÁª½Ó£º

ÎÒÃÇ¿ÉÒÔ¿´µ½£¬Ç°Ò»¸ö½á¹ûÏÔʾËÑË÷ÁË 7883 ÐУ¬¶øºóÒ»¸öÖ»ÊÇËÑË÷ÁËÁ½¸ö±íµÄ 9 ºÍ 16 ÐС£²é¿´rowsÁпÉÒÔÈÃÎÒÃÇÕÒµ½Ç±ÔÚµÄÐÔÄÜÎÊÌâ¡£

3. µ±Ö»ÒªÒ»ÐÐÊý¾ÝʱʹÓà LIMIT 1

µ±Äã²éѯ±íµÄÓÐЩʱºò£¬ÄãÒѾ­ÖªµÀ½á¹ûÖ»»áÓÐÒ»Ìõ½á¹û£¬µ«ÒòΪÄã¿ÉÄÜÐèҪȥfetchÓα꣬»òÊÇÄãÒ²Ðí»áÈ¥¼ì²é·µ»ØµÄ¼Ç¼Êý¡£

ÔÚÕâÖÖÇé¿öÏ£¬¼ÓÉÏ LIMIT 1 ¿ÉÒÔÔö¼ÓÐÔÄÜ¡£ÕâÑùÒ»Ñù£¬MySQLÊý¾Ý¿âÒýÇæ»áÔÚÕÒµ½Ò»ÌõÊý¾ÝºóÍ£Ö¹ËÑË÷£¬¶ø²»ÊǼÌÐøÍùºó²éÉÙÏÂÒ»Ìõ·ûºÏ¼Ç¼µÄÊý¾Ý¡£

4. ΪËÑË÷×ֶν¨Ë÷Òý

Ë÷Òý²¢²»Ò»¶¨¾ÍÊǸøÖ÷¼ü»òÊÇΨһµÄ×ֶΡ£Èç¹ûÔÚÄãµÄ±íÖУ¬ÓÐij¸ö×Ö¶ÎÄã×ÜÒª»á¾­³£ÓÃÀ´×öËÑË÷£¬ÄÇô£¬ÇëΪÆä½¨Á¢Ë÷Òý°É¡£

´ÓÉÏͼÄã¿ÉÒÔ¿´µ½ÄǸöËÑË÷×Ö´® ¡°last_name LIKE ¡®a%¡¯¡±£¬Ò»¸öÊǽ¨ÁËË÷Òý£¬Ò»¸öÊÇûÓÐË÷Òý£¬ÐÔÄܲîÁË4±¶×óÓÒ¡£

ÁíÍ⣬ÄãÓ¦¸ÃÒ²ÐèÒªÖªµÀʲôÑùµÄËÑË÷ÊDz»ÄÜʹÓÃÕý³£µÄË÷ÒýµÄ¡£ÀýÈ磬µ±ÄãÐèÒªÔÚһƪ´óµÄÎÄÕÂÖÐËÑË÷Ò»¸ö´Êʱ£¬È磺 ¡°WHERE post_content LIKE ¡®%apple%¡¯¡±£¬Ë÷Òý¿ÉÄÜÊÇûÓÐÒâÒåµÄ¡£Äã¿ÉÄÜÐèҪʹÓÃMySQLÈ«ÎÄË÷Òý »òÊÇ×Ô¼º×öÒ»¸öË÷Òý(±ÈÈç˵£ºËÑË÷¹Ø¼ü´Ê»òÊÇTagʲôµÄ)

5. ÔÚJoin±íµÄʱºòʹÓÃÏ൱ÀàÐ͵ÄÀý£¬²¢½«ÆäË÷Òý

Èç¹ûÄãµÄÓ¦ÓóÌÐòÓкܶà JOIN ²éѯ£¬ÄãÓ¦¸ÃÈ·ÈÏÁ½¸ö±íÖÐJoinµÄ×Ö¶ÎÊDZ»½¨¹ýË÷ÒýµÄ¡£ÕâÑù£¬MySQLÄÚ²¿»áÆô¶¯ÎªÄãÓÅ»¯JoinµÄSQLÓï¾äµÄ»úÖÆ¡£

¶øÇÒ£¬ÕâЩ±»ÓÃÀ´JoinµÄ×ֶΣ¬Ó¦¸ÃÊÇÏàͬµÄÀàÐ͵ġ£ÀýÈ磺Èç¹ûÄãÒª°Ñ DECIMAL ×ֶκÍÒ»¸ö INT ×Ö¶ÎJoinÔÚÒ»Æð£¬MySQL¾ÍÎÞ·¨Ê¹ÓÃËüÃǵÄË÷Òý¡£¶ÔÓÚÄÇЩSTRINGÀàÐÍ£¬»¹ÐèÒªÓÐÏàͬµÄ×Ö·û¼¯²ÅÐС£(Á½¸ö±íµÄ×Ö·û¼¯ÓпÉÄܲ»Ò»Ñù)

6. ǧÍò²»Òª ORDER BY RAND()

Ïë´òÂÒ·µ»ØµÄÊý¾ÝÐÐ Ëæ»úÌôÒ»¸öÊý¾Ý Õæ²»ÖªµÀË­·¢Ã÷ÁËÕâÖÖÓ÷¨£¬µ«ºÜ¶àÐÂÊÖºÜϲ»¶ÕâÑùÓᣵ«ÄãÈ·²»Á˽âÕâÑù×öÓжàô¿ÉŵÄÐÔÄÜÎÊÌâ¡£

Èç¹ûÄãÕæµÄÏë°Ñ·µ»ØµÄÊý¾ÝÐдòÂÒÁË£¬ÄãÓÐNÖÖ·½·¨¿ÉÒÔ´ïµ½Õâ¸öÄ¿µÄ¡£ÕâÑùʹÓÃÖ»ÈÃÄãµÄÊý¾Ý¿âµÄÐÔÄܳÊÖ¸Êý¼¶µÄϽµ¡£ÕâÀïµÄÎÊÌâÊÇ£ºMySQL»á²»µÃ²»È¥Ö´ÐÐRAND()º¯Êý(ºÜºÄCPUʱ¼ä)£¬¶øÇÒÕâÊÇΪÁËÿһÐмǼȥ¼ÇÐУ¬È»ºóÔÙ¶ÔÆäÅÅÐò¡£¾ÍËãÊÇÄãÓÃÁËLimit 1Ò²ÎÞ¼ÃÓÚÊÂ(ÒòΪҪÅÅÐò)

ÏÂÃæµÄʾÀýÊÇËæ»úÌôÒ»Ìõ¼Ç¼

7. ±ÜÃâ SELECT *

´ÓÊý¾Ý¿âÀï¶Á³öÔ½¶àµÄÊý¾Ý£¬ÄÇô²éѯ¾Í»á±äµÃÔ½Âý¡£²¢ÇÒ£¬Èç¹ûÄãµÄÊý¾Ý¿â·þÎñÆ÷ºÍWEB·þÎñÆ÷ÊÇÁ½\̨\¶ÀÁ¢µÄ·þÎñÆ÷µÄ»°£¬Õ⻹»áÔö¼ÓÍøÂç´«ÊäµÄ¸ºÔØ¡£

ËùÒÔ£¬ÄãÓ¦¸ÃÑø³ÉÒ»¸öÐèҪʲô¾ÍȡʲôµÄºÃµÄϰ¹ß¡£

8. ÓÀԶΪÿÕűíÉèÖÃÒ»¸öID

ÎÒÃÇÓ¦¸ÃΪÊý¾Ý¿âÀïµÄÿÕÅ±í¶¼ÉèÖÃÒ»¸öID×öΪÆäÖ÷¼ü£¬¶øÇÒ×îºÃµÄÊÇÒ»¸öINTÐ͵Ä(ÍÆ¼öʹÓÃUNSIGNED)£¬²¢ÉèÖÃÉÏ×Ô¶¯Ôö¼ÓµÄAUTO_INCREMENT±êÖ¾¡£

¾ÍËãÊÇÄã users ±íÓÐÒ»¸öÖ÷¼ü½Ð ¡°email¡±µÄ×ֶΣ¬ÄãÒ²±ðÈÃËü³ÉΪÖ÷¼ü¡£Ê¹Óà VARCHAR ÀàÐÍÀ´µ±Ö÷¼ü»áʹÓõÃÐÔÄÜϽµ¡£ÁíÍ⣬ÔÚÄãµÄ³ÌÐòÖУ¬ÄãÓ¦¸ÃʹÓñíµÄIDÀ´¹¹ÔìÄãµÄÊý¾Ý½á¹¹¡£

¶øÇÒ£¬ÔÚMySQLÊý¾ÝÒýÇæÏ£¬»¹ÓÐһЩ²Ù×÷ÐèҪʹÓÃÖ÷¼ü£¬ÔÚÕâЩÇé¿öÏ£¬Ö÷¼üµÄÐÔÄܺÍÉèÖñäµÃ·Ç³£ÖØÒª£¬±ÈÈ磬¼¯Èº£¬·ÖÇø¡­¡­

ÔÚÕâÀֻÓÐÒ»¸öÇé¿öÊÇÀýÍ⣬ÄǾÍÊÇ¡°¹ØÁª±í¡±µÄ¡°Íâ¼ü¡±£¬Ò²¾ÍÊÇ˵£¬Õâ¸ö±íµÄÖ÷¼ü£¬Í¨¹ýÈô¸É¸ö±ðµÄ±íµÄÖ÷¼ü¹¹³É¡£ÎÒÃǰÑÕâ¸öÇé¿ö½Ð×ö¡°Íâ¼ü¡±¡£±ÈÈ磺ÓÐÒ»¸ö¡°Ñ§Éú±í¡±ÓÐѧÉúµÄID£¬ÓÐÒ»¸ö¡°¿Î³Ì±í¡±ÓпγÌID£¬ÄÇô£¬¡°³É¼¨±í¡±¾ÍÊÇ¡°¹ØÁª±í¡±ÁË£¬Æä¹ØÁªÁËѧÉú±íºÍ¿Î³Ì±í£¬Ôڳɼ¨±íÖУ¬Ñ§ÉúIDºÍ¿Î³ÌID½Ð¡°Íâ¼ü¡±Æä¹²Í¬×é³ÉÖ÷¼ü¡£

9. ʹÓà ENUM ¶ø²»ÊÇ VARCHAR

ENUM ÀàÐÍÊǷdz£¿ìºÍ½ô´ÕµÄ¡£ÔÚʵ¼ÊÉÏ£¬Æä±£´æµÄÊÇ TINYINT£¬µ«ÆäÍâ±íÉÏÏÔʾΪ×Ö·û´®¡£ÕâÑùÒ»À´£¬ÓÃÕâ¸ö×Ö¶ÎÀ´×öһЩѡÏîÁбí±äµÃÏ൱µÄÍêÃÀ¡£

Èç¹ûÄãÓÐÒ»¸ö×ֶΣ¬±ÈÈç¡°ÐԱ𡱣¬¡°¹ú¼Ò¡±£¬¡°Ãñ×塱£¬¡°×´Ì¬¡±»ò¡°²¿ÃÅ¡±£¬ÄãÖªµÀÕâЩ×ֶεÄȡֵÊÇÓÐÏÞ¶øÇҹ̶¨µÄ£¬ÄÇô£¬ÄãÓ¦¸ÃʹÓà ENUM ¶ø²»ÊÇ VARCHAR¡£

MySQLÒ²ÓÐÒ»¸ö¡°½¨Ò顱(¼ûµÚÊ®Ìõ)¸æËßÄãÔõÃ´È¥ÖØÐÂ×éÖ¯ÄãµÄ±í½á¹¹¡£µ±ÄãÓÐÒ»¸ö VARCHAR ×Ö¶Îʱ£¬Õâ¸ö½¨Òé»á¸æËßÄã°ÑÆä¸Ä³É ENUM ÀàÐÍ¡£Ê¹Óà PROCEDURE ANALYSE() Äã¿ÉÒԵõ½Ïà¹ØµÄ½¨Òé¡£

10. ´Ó PROCEDURE ANALYSE() È¡µÃ½¨Òé

PROCEDURE ANALYSE() »áÈà MySQL °ïÄãÈ¥·ÖÎöÄãµÄ×Ö¶ÎºÍÆäʵ¼ÊµÄÊý¾Ý£¬²¢»á¸øÄãһЩÓÐÓõĽ¨Òé¡£Ö»ÓбíÖÐÓÐʵ¼ÊµÄÊý¾Ý£¬ÕâЩ½¨Òé²Å»á±äµÃÓÐÓã¬ÒòΪҪ×öһЩ´óµÄ¾ö¶¨ÊÇÐèÒªÓÐÊý¾Ý×÷Ϊ»ù´¡µÄ¡£

ÀýÈ磬Èç¹ûÄã´´½¨ÁËÒ»¸ö INT ×Ö¶Î×÷ΪÄãµÄÖ÷¼ü£¬È»¶ø²¢Ã»ÓÐÌ«¶àµÄÊý¾Ý£¬ÄÇô£¬PROCEDURE ANALYSE()»á½¨ÒéÄã°ÑÕâ¸ö×ֶεÄÀàÐÍ¸Ä³É MEDIUMINT ¡£»òÊÇÄãʹÓÃÁËÒ»¸ö VARCHAR ×ֶΣ¬ÒòΪÊý¾Ý²»¶à£¬Äã¿ÉÄÜ»áµÃµ½Ò»¸öÈÃÄã°ÑËü¸Ä³É ENUM µÄ½¨Òé¡£ÕâЩ½¨Ò飬¶¼ÊÇ¿ÉÄÜÒòΪÊý¾Ý²»¹»¶à£¬ËùÒÔ¾ö²ß×öµÃ¾Í²»¹»×¼¡£

ÔÚphpmyadminÀÄã¿ÉÒÔÔڲ鿴±íʱ£¬µã»÷ ¡°Propose table structure¡± À´²é¿´ÕâЩ½¨Òé

Ò»¶¨Òª×¢Ò⣬ÕâЩֻÊǽ¨Ò飬ֻÓе±ÄãµÄ±íÀïµÄÊý¾ÝÔ½À´Ô½¶àʱ£¬ÕâЩ½¨Òé²Å»á±äµÃ׼ȷ¡£Ò»¶¨Òª¼Çס£¬Äã²ÅÊÇ×îÖÕ×ö¾ö¶¨µÄÈË¡£

11. ¾¡¿ÉÄܵÄʹÓà NOT NULL

³ý·ÇÄãÓÐÒ»¸öºÜÌØ±ðµÄÔ­ÒòȥʹÓà NULL Öµ£¬ÄãÓ¦¸Ã×ÜÊÇÈÃÄãµÄ×ֶα£³Ö NOT NULL¡£Õâ¿´ÆðÀ´ºÃÏñÓеãÕùÒ飬ÇëÍùÏ¿´¡£

Ê×ÏÈ£¬ÎÊÎÊÄã×Ô¼º¡°Empty¡±ºÍ¡°NULL¡±Óжà´óµÄÇø±ð(Èç¹ûÊÇINT£¬ÄǾÍÊÇ0ºÍNULL) Èç¹ûÄã¾õµÃËüÃÇÖ®¼äûÓÐÊ²Ã´Çø±ð£¬ÄÇôÄã¾Í²»ÒªÊ¹ÓÃNULL¡£(ÄãÖªµÀÂð ÔÚ Oracle ÀNULL ºÍ Empty µÄ×Ö·û´®ÊÇÒ»ÑùµÄ!)

²»ÒªÒÔΪ NULL ²»ÐèÒª¿Õ¼ä£¬ÆäÐèÒª¶îÍâµÄ¿Õ¼ä£¬²¢ÇÒ£¬ÔÚÄã½øÐбȽϵÄʱºò£¬ÄãµÄ³ÌÐò»á¸ü¸´ÔÓ¡£ µ±È»£¬ÕâÀï²¢²»ÊÇ˵Äã¾Í²»ÄÜʹÓÃNULLÁË£¬ÏÖʵÇé¿öÊǺܸ´Ôӵģ¬ÒÀÈ»»áÓÐЩÇé¿öÏ£¬ÄãÐèҪʹÓÃNULLÖµ¡£

ÏÂÃæÕª×ÔMySQL×Ô¼ºµÄÎĵµ£º

12. Prepared Statements

Prepared StatementsºÜÏñ´æ´¢¹ý³Ì£¬ÊÇÒ»ÖÖÔËÐÐÔÚºǫ́µÄSQLÓï¾ä¼¯ºÏ£¬ÎÒÃÇ¿ÉÒÔ´ÓʹÓà prepared statements »ñµÃºÜ¶àºÃ´¦£¬ÎÞÂÛÊÇÐÔÄÜÎÊÌ⻹Êǰ²È«ÎÊÌâ¡£

Prepared Statements ¿ÉÒÔ¼ì²éһЩÄã°ó¶¨ºÃµÄ±äÁ¿£¬ÕâÑù¿ÉÒÔ±£»¤ÄãµÄ³ÌÐò²»»áÊܵ½¡°SQL×¢Èëʽ¡±¹¥»÷¡£µ±È»£¬ÄãÒ²¿ÉÒÔÊÖ¶¯µØ¼ì²éÄãµÄÕâЩ±äÁ¿£¬È»¶ø£¬ÊÖ¶¯µÄ¼ì²éÈÝÒ׳öÎÊÌ⣬¶øÇҺܾ­³£»á±»³ÌÐòÔ±ÍüÁË¡£µ±ÎÒÃÇʹÓÃһЩframework»òÊÇORMµÄʱºò£¬ÕâÑùµÄÎÊÌâ»áºÃһЩ¡£

ÔÚÐÔÄÜ·½Ã棬µ±Ò»¸öÏàͬµÄ²éѯ±»Ê¹Óöà´ÎµÄʱºò£¬Õâ»áΪÄã´øÀ´¿É¹ÛµÄÐÔÄÜÓÅÊÆ¡£Äã¿ÉÒÔ¸øÕâЩPrepared Statements¶¨ÒåһЩ²ÎÊý£¬¶øMySQLÖ»»á½âÎöÒ»´Î¡£

ËäÈ»×îа汾µÄMySQLÔÚ´«ÊäPrepared StatementsÊÇʹÓöþ½øÖÆÐÎÊÆ£¬ËùÒÔÕâ»áʹµÃÍøÂç´«Êä·Ç³£ÓÐЧÂÊ¡£

µ±È»£¬Ò²ÓÐһЩÇé¿öÏ£¬ÎÒÃÇÐèÒª±ÜÃâʹÓÃPrepared Statements£¬ÒòΪÆä²»Ö§³Ö²éѯ»º´æ¡£µ«¾Ý˵°æ±¾5.1ºóÖ§³ÖÁË¡£

ÔÚPHPÖÐҪʹÓÃprepared statements£¬Äã¿ÉÒԲ鿴ÆäʹÓÃÊֲ᣺mysqli À©Õ¹ »òÊÇʹÓÃÊý¾Ý¿â³éÏó²ã£¬È磺 PDO.

13. ÎÞ»º³åµÄ²éѯ

Õý³£µÄÇé¿öÏ£¬µ±ÄãÔÚµ±ÄãÔÚÄãµÄ½Å±¾ÖÐÖ´ÐÐÒ»¸öSQLÓï¾äµÄʱºò£¬ÄãµÄ³ÌÐò»áÍ£ÔÚÄÇÀïÖ±µ½Ã»Õâ¸öSQLÓï¾ä·µ»Ø£¬È»ºóÄãµÄ³ÌÐòÔÙÍùϼÌÐøÖ´ÐС£Äã¿ÉÒÔʹÓÃÎÞ»º³å²éѯÀ´¸Ä±äÕâ¸öÐÐΪ¡£

¹ØÓÚÕâ¸öÊÂÇ飬ÔÚPHPµÄÎĵµÖÐÓÐÒ»¸ö·Ç³£²»´íµÄ˵Ã÷£º mysql_unbuffered_query() º¯Êý£º

ÉÏÃæÄǾ仰·­Òë¹ýÀ´ÊÇ˵£¬mysql_unbuffered_query() ·¢ËÍÒ»¸öSQLÓï¾äµ½MySQL¶ø²¢²»Ïñmysql_query()Ò»ÑùÈ¥×Ô¶¯fethchºÍ»º´æ½á¹û¡£Õâ»áÏ൱½ÚÔ¼ºÜ¶à¿É¹ÛµÄÄڴ棬ÓÈÆäÊÇÄÇЩ»á²úÉú´óÁ¿½á¹ûµÄ²éѯÓï¾ä£¬²¢ÇÒ£¬Äã²»ÐèÒªµÈµ½ËùÓеĽá¹û¶¼·µ»Ø£¬Ö»ÐèÒªµÚÒ»ÐÐÊý¾Ý·µ»ØµÄʱºò£¬Äã¾Í¿ÉÒÔ¿ªÊ¼ÂíÉÏ¿ªÊ¼¹¤×÷ÓÚ²éѯ½á¹ûÁË¡£

È»¶ø£¬Õâ»áÓÐһЩÏÞÖÆ¡£ÒòΪÄãҪô°ÑËùÓÐÐж¼¶Á×ߣ¬»òÊÇÄãÒªÔÚ½øÐÐÏÂÒ»´ÎµÄ²éѯǰµ÷Óà mysql_free_result() Çå³ý½á¹û¡£¶øÇÒ£¬ mysql_num_rows() »ò mysql_data_seek() ½«ÎÞ·¨Ê¹Óá£ËùÒÔ£¬ÊÇ·ñʹÓÃÎÞ»º³åµÄ²éѯÄãÐèÒª×Ðϸ¿¼ÂÇ¡£

14. °ÑIPµØÖ·´æ³É UNSIGNED INT

ºÜ¶à³ÌÐòÔ±¶¼»á´´½¨Ò»¸ö VARCHAR(15) ×Ö¶ÎÀ´´æ·Å×Ö·û´®ÐÎʽµÄIP¶ø²»ÊÇÕûÐεÄIP¡£Èç¹ûÄãÓÃÕûÐÎÀ´´æ·Å£¬Ö»ÐèÒª4¸ö×Ö½Ú£¬²¢ÇÒÄã¿ÉÒÔÓж¨³¤µÄ×ֶΡ£¶øÇÒ£¬Õâ»áΪÄã´øÀ´²éѯÉϵÄÓÅÊÆ£¬ÓÈÆäÊǵ±ÄãÐèҪʹÓÃÕâÑùµÄWHEREÌõ¼þ£ºIP between ip1 and ip2¡£

ÎÒÃDZØÐèҪʹÓÃUNSIGNED INT£¬ÒòΪ IPµØÖ·»áʹÓÃÕû¸ö32λµÄÎÞ·ûºÅÕûÐΡ£

¶øÄãµÄ²éѯ£¬Äã¿ÉÒÔʹÓà INET_ATON() À´°ÑÒ»¸ö×Ö·û´®IPת³ÉÒ»¸öÕûÐΣ¬²¢Ê¹Óà INET_NTOA() °ÑÒ»¸öÕûÐÎת³ÉÒ»¸ö×Ö·û´®IP¡£ÔÚPHPÖУ¬Ò²ÓÐÕâÑùµÄº¯Êý ip2long() ºÍ long2ip()¡£

15. ¹Ì¶¨³¤¶ÈµÄ±í»á¸ü¿ì

Èç¹û±íÖеÄËùÓÐ×ֶζ¼ÊÇ¡°¹Ì¶¨³¤¶È¡±µÄ£¬Õû¸ö±í»á±»ÈÏΪÊÇ ¡°static¡± »ò ¡°fixed-length¡±¡£ ÀýÈ磬±íÖÐûÓÐÈçÏÂÀàÐ͵Ä×ֶΣº VARCHAR£¬TEXT£¬BLOB¡£Ö»ÒªÄã°üÀ¨ÁËÆäÖÐÒ»¸öÕâЩ×ֶΣ¬ÄÇôÕâ¸ö±í¾Í²»ÊÇ¡°¹Ì¶¨³¤¶È¾²Ì¬±í¡±ÁË£¬ÕâÑù£¬MySQL ÒýÇæ»áÓÃÁíÒ»ÖÖ·½·¨À´´¦Àí¡£

¹Ì¶¨³¤¶ÈµÄ±í»áÌá¸ßÐÔÄÜ£¬ÒòΪMySQLËÑѰµÃ»á¸ü¿ìһЩ£¬ÒòΪÕâЩ¹Ì¶¨µÄ³¤¶ÈÊǺÜÈÝÒ×¼ÆËãÏÂÒ»¸öÊý¾ÝµÄÆ«ÒÆÁ¿µÄ£¬ËùÒÔ¶ÁÈ¡µÄ×ÔȻҲ»áºÜ¿ì¡£¶øÈç¹û×ֶβ»ÊǶ¨³¤µÄ£¬ÄÇô£¬Ã¿Ò»´ÎÒªÕÒÏÂÒ»ÌõµÄ»°£¬ÐèÒª³ÌÐòÕÒµ½Ö÷¼ü¡£

²¢ÇÒ£¬¹Ì¶¨³¤¶ÈµÄ±íÒ²¸üÈÝÒ×±»»º´æºÍÖØ½¨¡£²»¹ý£¬Î¨Ò»µÄ¸±×÷ÓÃÊÇ£¬¹Ì¶¨³¤¶ÈµÄ×ֶλáÀË·ÑһЩ¿Õ¼ä£¬ÒòΪ¶¨³¤µÄ×Ö¶ÎÎÞÂÛÄãÓò»Óã¬Ëû¶¼ÊÇÒª·ÖÅäÄÇô¶àµÄ¿Õ¼ä¡£

ʹÓá°´¹Ö±·Ö¸î¡±¼¼Êõ(¼ûÏÂÒ»Ìõ)£¬Äã¿ÉÒÔ·Ö¸îÄãµÄ±í³ÉΪÁ½¸öÒ»¸öÊǶ¨³¤µÄ£¬Ò»¸öÔòÊDz»¶¨³¤µÄ¡£

16. ´¹Ö±·Ö¸î

¡°´¹Ö±·Ö¸î¡±ÊÇÒ»ÖÖ°ÑÊý¾Ý¿âÖÐµÄ±í°´Áбä³É¼¸ÕűíµÄ·½·¨£¬ÕâÑù¿ÉÒÔ½µµÍ±íµÄ¸´ÔӶȺÍ×ֶεÄÊýÄ¿£¬´Ó¶ø´ïµ½ÓÅ»¯µÄÄ¿µÄ¡£(ÒÔǰ£¬ÔÚÒøÐÐ×ö¹ýÏîÄ¿£¬¼û¹ýÒ»ÕűíÓÐ100¶à¸ö×ֶΣ¬ºÜ¿Ö²À)

ʾÀýÒ»£ºÔÚUsers±íÖÐÓÐÒ»¸ö×Ö¶ÎÊǼÒÍ¥µØÖ·£¬Õâ¸ö×Ö¶ÎÊÇ¿ÉÑ¡×ֶΣ¬Ïà±ÈÆð£¬¶øÇÒÄãÔÚÊý¾Ý¿â²Ù×÷µÄʱºò³ýÁ˸öÈËÐÅÏ¢Í⣬Äã²¢²»ÐèÒª¾­³£¶ÁÈ¡»òÊǸÄдÕâ¸ö×ֶΡ£ÄÇô£¬ÎªÊ²Ã´²»°ÑËû·Åµ½ÁíÍâÒ»ÕűíÖÐÄØ ÕâÑù»áÈÃÄãµÄ±íÓиüºÃµÄÐÔÄÜ£¬´ó¼ÒÏëÏëÊDz»ÊÇ£¬´óÁ¿µÄʱºò£¬ÎÒ¶ÔÓÚÓû§±íÀ´Ëµ£¬Ö»ÓÐÓû§ID£¬Óû§Ãû£¬¿ÚÁÓû§½ÇÉ«µÈ»á±»¾­³£Ê¹Óá£Ð¡Ò»µãµÄ±í×ÜÊÇ»áÓкõÄÐÔÄÜ¡£

ʾÀý¶þ£º ÄãÓÐÒ»¸ö½Ð ¡°last_login¡± µÄ×ֶΣ¬Ëü»áÔÚÿ´ÎÓû§µÇ¼ʱ±»¸üС£µ«ÊÇ£¬Ã¿´Î¸üÐÂʱ»áµ¼Ö¸ñíµÄ²éѯ»º´æ±»Çå¿Õ¡£ËùÒÔ£¬Äã¿ÉÒÔ°ÑÕâ¸ö×ֶηŵ½ÁíÒ»¸ö±íÖУ¬ÕâÑù¾Í²»»áÓ°ÏìÄã¶ÔÓû§ID£¬Óû§Ãû£¬Óû§½ÇÉ«µÄ²»Í£µØ¶ÁÈ¡ÁË£¬ÒòΪ²éѯ»º´æ»á°ïÄãÔö¼ÓºÜ¶àÐÔÄÜ¡£

ÁíÍ⣬ÄãÐèҪעÒâµÄÊÇ£¬ÕâЩ±»·Ö³öÈ¥µÄ×Ö¶ÎËùÐÎ³ÉµÄ±í£¬Äã²»»á¾­³£ÐÔµØÈ¥JoinËûÃÇ£¬²»È»µÄ»°£¬ÕâÑùµÄÐÔÄÜ»á±È²»·Ö¸îʱ»¹Òª²î£¬¶øÇÒ£¬»áÊǼ«Êý¼¶µÄϽµ¡£

17. ²ð·Ö´óµÄ DELETE »ò INSERT Óï¾ä

Èç¹ûÄãÐèÒªÔÚÒ»¸öÔÚÏßµÄÍøÕ¾ÉÏÈ¥Ö´ÐÐÒ»¸ö´óµÄ DELETE »ò INSERT ²éѯ£¬ÄãÐèÒª·Ç³£Ð¡ÐÄ£¬Òª±ÜÃâÄãµÄ²Ù×÷ÈÃÄãµÄÕû¸öÍøÕ¾Í£Ö¹ÏàÓ¦¡£ÒòΪÕâÁ½¸ö²Ù×÷ÊÇ»áËø±íµÄ£¬±íÒ»Ëø×¡ÁË£¬±ðµÄ²Ù×÷¶¼½ø²»À´ÁË¡£

Apache »áÓкܶàµÄ×Ó½ø³Ì»òÏ̡߳£ËùÒÔ£¬Æä¹¤×÷ÆðÀ´Ï൱ÓÐЧÂÊ£¬¶øÎÒÃǵķþÎñÆ÷Ò²²»Ï£ÍûÓÐÌ«¶àµÄ×Ó½ø³Ì£¬Ï̺߳ÍÊý¾Ý¿âÁ´½Ó£¬ÕâÊǼ«´óµÄÕ¼·þÎñÆ÷×ÊÔ´µÄÊÂÇ飬ÓÈÆäÊÇÄÚ´æ¡£

Èç¹ûÄã°ÑÄãµÄ±íËøÉÏÒ»¶Îʱ¼ä£¬±ÈÈç30ÃëÖÓ£¬ÄÇô¶ÔÓÚÒ»¸öÓкܸ߷ÃÎÊÁ¿µÄÕ¾µãÀ´Ëµ£¬Õâ30ÃëËù»ýÀ۵ķÃÎʽø³Ì/Ị̈߳¬Êý¾Ý¿âÁ´½Ó£¬´ò¿ªµÄÎļþÊý£¬¿ÉÄܲ»½ö½ö»áÈÃÄã²´WEB·þÎñCrash£¬»¹¿ÉÄÜ»áÈÃÄãµÄÕų̂·þÎñÆ÷ÂíÉÏ’ìÁË¡£

ËùÒÔ£¬Èç¹ûÄãÓÐÒ»¸ö´óµÄ´¦Àí£¬Ä㶨ÄãÒ»¶¨°ÑÆä²ð·Ö£¬Ê¹Óà LIMIT Ìõ¼þÊÇÒ»¸öºÃµÄ·½·¨¡£ÏÂÃæÊÇÒ»¸öʾÀý£º

18. ԽСµÄÁлáÔ½¿ì

¶ÔÓÚ´ó¶àÊýµÄÊý¾Ý¿âÒýÇæÀ´Ëµ£¬Ó²Å̲Ù×÷¿ÉÄÜÊÇ×îÖØ´óµÄÆ¿¾±¡£ËùÒÔ£¬°ÑÄãµÄÊý¾Ý±äµÃ½ô´Õ»á¶ÔÕâÖÖÇé¿ö·Ç³£ÓаïÖú£¬ÒòΪÕâ¼õÉÙÁ˶ÔÓ²Å̵ķÃÎÊ¡£

²Î¿´ MySQL µÄÎĵµ Storage Requirements ²é¿´ËùÓеÄÊý¾ÝÀàÐÍ¡£

Èç¹ûÒ»¸ö±íÖ»»áÓм¸ÁаÕÁË(±ÈÈç˵×Öµä±í£¬ÅäÖñí)£¬ÄÇô£¬ÎÒÃǾÍûÓÐÀíÓÉʹÓà INT À´×öÖ÷¼ü£¬Ê¹Óà MEDIUMINT, SMALLINT »òÊǸüСµÄ TINYINT »á¸ü¾­¼ÃһЩ¡£Èç¹ûÄã²»ÐèÒª¼Ç¼ʱ¼ä£¬Ê¹Óà DATE Òª±È DATETIME ºÃµÃ¶à¡£

µ±È»£¬ÄãÒ²ÐèÒªÁô¹»×ã¹»µÄÀ©Õ¹¿Õ¼ä£¬²»È»£¬ÄãÈÕºóÀ´¸ÉÕâ¸öÊ£¬Äã»áËÀµÄºÜÄÑ¿´£¬²Î¿´SlashdotµÄÀý×Ó(2009Äê11ÔÂ06ÈÕ)£¬Ò»¸ö¼òµ¥µÄALTER TABLEÓï¾ä»¨ÁË3¸ö¶àСʱ£¬ÒòΪÀïÃæÓÐһǧÁù°ÙÍòÌõÊý¾Ý¡£

19. Ñ¡ÔñÕýÈ·µÄ´æ´¢ÒýÇæ

ÔÚ MySQL ÖÐÓÐÁ½¸ö´æ´¢ÒýÇæ MyISAM ºÍ InnoDB£¬Ã¿¸öÒýÇæ¶¼ÓÐÀûÓбס£¿á¿ÇÒÔǰÎÄÕ¡¶MySQL: InnoDB »¹ÊÇ MyISAM ¡·ÌÖÂÛºÍÕâ¸öÊÂÇé¡£

MyISAM ÊʺÏÓÚһЩÐèÒª´óÁ¿²éѯµÄÓ¦Ó㬵«Æä¶ÔÓÚÓдóÁ¿Ð´²Ù×÷²¢²»ÊǺܺá£ÉõÖÁÄãÖ»ÊÇÐèÒªupdateÒ»¸ö×ֶΣ¬Õû¸ö±í¶¼»á±»ËøÆðÀ´£¬¶ø±ðµÄ½ø³Ì£¬¾ÍËãÊǶÁ½ø³Ì¶¼ÎÞ·¨²Ù×÷Ö±µ½¶Á²Ù×÷Íê³É¡£ÁíÍ⣬MyISAM ¶ÔÓÚ SELECT COUNT(*) ÕâÀàµÄ¼ÆËãÊdz¬¿ìÎޱȵġ£

InnoDB µÄÇ÷ÊÆ»áÊÇÒ»¸ö·Ç³£¸´ÔӵĴ洢ÒýÇæ£¬¶ÔÓÚһЩСµÄÓ¦Óã¬Ëü»á±È MyISAM »¹Âý¡£ËûÊÇËüÖ§³Ö¡°ÐÐËø¡± £¬ÓÚÊÇÔÚд²Ù×÷±È½Ï¶àµÄʱºò£¬»á¸üÓÅÐã¡£²¢ÇÒ£¬Ëû»¹Ö§³Ö¸ü¶àµÄ¸ß¼¶Ó¦Ó㬱ÈÈ磺ÊÂÎñ¡£

ÏÂÃæÊÇMySQLµÄÊÖ²á

target=¡±_blank¡±MyISAM Storage Engine

InnoDB Storage Engine

20. ʹÓÃÒ»¸ö¶ÔÏó¹ØÏµÓ³ÉäÆ÷(Object Relational Mapper)

ʹÓà ORM (Object Relational Mapper)£¬ÄãÄܹ»»ñµÃ¿É¿¿µÄÐÔÄÜÔöÕÇ¡£Ò»¸öORM¿ÉÒÔ×öµÄËùÓÐÊÂÇ飬ҲÄܱ»ÊÖ¶¯µÄ±àд³öÀ´¡£µ«ÊÇ£¬ÕâÐèÒªÒ»¸ö¸ß¼¶×¨¼Ò¡£

ORM µÄ×îÖØÒªµÄÊÇ¡°Lazy Loading¡±£¬Ò²¾ÍÊÇ˵£¬Ö»ÓÐÔÚÐèÒªµÄȥȡֵµÄʱºò²Å»áÈ¥ÕæÕýµÄÈ¥×ö¡£µ«ÄãÒ²ÐèҪСÐÄÕâÖÖ»úÖÆµÄ¸±×÷Óã¬ÒòΪÕâºÜÓпÉÄÜ»áÒòΪҪȥ´´½¨ºÜ¶àºÜ¶àСµÄ²éѯ·´¶ø»á½µµÍÐÔÄÜ¡£

ORM »¹¿ÉÒÔ°ÑÄãµÄSQLÓï¾ä´ò°ü³ÉÒ»¸öÊÂÎñ£¬Õâ»á±Èµ¥¶ÀÖ´ÐÐËûÃÇ¿ìµÃ¶àµÃ¶à¡£

Ŀǰ£¬¸öÈË×îϲ»¶µÄPHPµÄORMÊÇ£ºDoctrine¡£

21. СÐÄ¡°ÓÀ¾ÃÁ´½Ó¡±

¡°ÓÀ¾ÃÁ´½Ó¡±µÄÄ¿µÄÊÇÓÃÀ´¼õÉÙÖØÐ´´½¨MySQLÁ´½ÓµÄ´ÎÊý¡£µ±Ò»¸öÁ´½Ó±»´´½¨ÁË£¬Ëü»áÓÀÔ¶´¦ÔÚÁ¬½ÓµÄ״̬£¬¾ÍËãÊÇÊý¾Ý¿â²Ù×÷ÒѾ­½áÊøÁË¡£¶øÇÒ£¬×Ô´ÓÎÒÃǵÄApache¿ªÊ¼ÖØÓÃËüµÄ×Ó½ø³Ìºó¡ª¡ªÒ²¾ÍÊÇ˵£¬ÏÂÒ»´ÎµÄHTTPÇëÇó»áÖØÓÃApacheµÄ×Ó½ø³Ì£¬²¢ÖØÓÃÏàͬµÄ MySQL Á´½Ó¡£

PHPÊֲ᣺mysql_pconnect()

ÔÚÀíÂÛÉÏÀ´Ëµ£¬ÕâÌýÆðÀ´·Ç³£µÄ²»´í¡£µ«ÊÇ´Ó¸öÈ˾­Ñé(Ò²ÊÇ´ó¶àÊýÈ˵Ä)ÉÏÀ´Ëµ£¬Õâ¸ö¹¦ÄÜÖÆÔì³öÀ´µÄÂ鷳ʸü¶à¡£ÒòΪ£¬ÄãÖ»ÓÐÓÐÏÞµÄÁ´½ÓÊý£¬ÄÚ´æÎÊÌ⣬Îļþ¾ä±úÊý£¬µÈµÈ¡£

¶øÇÒ£¬Apache ÔËÐÐÔÚ¼«¶Ë²¢ÐеĻ·¾³ÖУ¬»á´´½¨ºÜ¶àºÜ¶àµÄÁ˽ø³Ì¡£Õâ¾ÍÊÇΪʲôÕâÖÖ¡°ÓÀ¾ÃÁ´½Ó¡±µÄ»úÖÆ¹¤×÷µØ²»ºÃµÄÔ­Òò¡£ÔÚÄã¾ö¶¨ÒªÊ¹Óá°ÓÀ¾ÃÁ´½Ó¡±Ö®Ç°£¬ÄãÐèÒªºÃºÃµØ¿¼ÂÇÒ»ÏÂÄãµÄÕû¸öϵͳµÄ¼Ü¹¹¡£

   
3000 ´Îä¯ÀÀ       31
Ïà¹ØÎÄÕÂ

»ùÓÚEAµÄÊý¾Ý¿â½¨Ä£
Êý¾ÝÁ÷½¨Ä££¨EAÖ¸ÄÏ£©
¡°Êý¾Ýºþ¡±£º¸ÅÄî¡¢ÌØÕ÷¡¢¼Ü¹¹Óë°¸Àý
ÔÚÏßÉ̳ÇÊý¾Ý¿âϵͳÉè¼Æ ˼·+Ч¹û
 
Ïà¹ØÎĵµ

GreenplumÊý¾Ý¿â»ù´¡Åàѵ
MySQL5.1ÐÔÄÜÓÅ»¯·½°¸
ijµçÉÌÊý¾ÝÖÐ̨¼Ü¹¹Êµ¼ù
MySQL¸ßÀ©Õ¹¼Ü¹¹Éè¼Æ
Ïà¹Ø¿Î³Ì

Êý¾ÝÖÎÀí¡¢Êý¾Ý¼Ü¹¹¼°Êý¾Ý±ê×¼
MongoDBʵս¿Î³Ì
²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿âÉè¼ÆÓëÓÅ»¯
PostgreSQLÊý¾Ý¿âʵսÅàѵ