| µ±ÎÒÔÚ°ïÖúһЩ¿ª·¢Õß»ò¼Ü¹¹Ê¦·ÖÎö¼°ÓÅ»¯JavaÓ¦ÓóÌÐòµÄÐÔÄÜʱ£¬¹Ø¼üÍùÍù²»ÔÚÓÚ¶Ô¸ö±ð·½·¨½øÐÐ΢µ÷£¬ÒÔ½Úʡһ»òÁ½Î¢ÃëµÄÖ´ÐÐʱ¼ä¡£ËäÈ»¶ÔijЩÈí¼þÀ´Ëµ£¬Î¢Ãë¼¶µÄÓÅ»¯È·Êµ·Ç³£ÖØÒª£¬µ«ÎÒÈÏΪÕâ²¢·Ç×ÅÑÛµãËùÔÚ¡£ÎÒÔÚ2015Äê¼ä¶ÔÊý°Ù¸öÓ¦ÓýøÐÐÁË·ÖÎö£¬·¢ÏÖ¶àÊýÐÔÄÜÓë¿ÉÉìËõÐÔÎÊÌâ¶¼À´Ô´ÓÚÔã¸âµÄ¼Ü¹¹¾ö²ß¡¢¿ò¼ÜµÄ´íÎóÅäÖᢴíÎóµÄÊý¾Ý¿â·ÃÎÊģʽ¡¢¹ýÁ¿µÄÈÕÖ¾¼Ç¼£¬ÒÔ¼°ÓÉÓÚÄÚ´æ¹ý¶ÈÏûºÄ¶øµ¼ÖµÄÀ¬»ø»ØÊÕËù´øÀ´µÄÓ°Ïì¡£
ÔÚÎÒ¿´À´£¬ÐÔÄܹ¤³ÌµÄ¸ù±¾ÔÚÓÚͨ¹ý´óÁ¿µÄ¹Û²ì£¬½«¹Ø¼üµÄ¼Ü¹¹Ö¸±ê¡¢¿ÉÉìËõÐÔÖ¸±êÒÔ¼°ÐÔÄÜÖ¸±ê¹ØÁªÔÚÒ»Æð¡£Í¨¹ý¶Ôÿ´Î¹¹½¨µÄ½á¹ûÒÔ¼°²»Í¬¸ºÔØÇé¿öϵıíÏÖ½øÐзÖÎö£¬ÒÔ·¢ÏÖϵͳÖеĻعéȱÏÝ»òÆ¿¾±ËùÔÚ¡£ÒÔÏÂͼÖеÄÒDZí°å×÷ΪʾÀý£º
(µã»÷·Å´óͼÏñ)

ͨ¹ý½«ÏµÍ³¸ºÔØ¡¢ÏìӦʱ¼äÓëSQLÓï¾äµÄÖ´ÐдÎÊýµÈÖ¸±êÏà¹ØÁª£¬¿ÉµÃ³öijЩÐÔÄܹ¤³Ì·½ÃæÎÊÌâµÄ¸ù±¾ÔÒò¡£
×îÉÏÃæÒ»ÕÅͼ½Ð×ö¡°²ã·Ö½â¡±Í¼±í£¬ËüÏÔʾÁËÄãµÄÓ¦ÓÃÖи÷¸öÂß¼×é¼þ£¨ÀýÈçWeb Service¡¢Êý¾Ý¿â·ÃÎÊ¡¢ÒµÎñÂß¼¡¢Web·þÎñÆ÷µÈµÈ£©µÄ×ÜÌåÖ´ÐÐʱ¼ä¡£ºìÉ«²¿·ÖËù±íʾµÄÊÇij¸öºó¶ËWeb
ServiceËù»¨·ÑµÄʱ¼ä£¬ºÜÃ÷ÏÔÕâÀï²úÉúÁËÒ»¸ö×é¼þÈȵ㡣ÎÒÃÇͬʱ¿ÉÒÔ·¢ÏÖ£¬¸ÃWeb Service²¢Ã»ÓгÐÊÜÒì³£µÄ¸ºÔØ£¬ÒòΪ´ÓµÚ¶þÕÅͼÀ´¿´£¬µ±Ê±Ó¦ÓóÌÐòËù´¦ÀíµÄÇëÇóÊýÁ¿ÕâÌõÏß±È½ÏÆ½ÎÈ¡£Ò»°ãÇé¿öÏ£¬ÕûÌåÏìӦʱ¼ä¶àÊý¶¼ºÄ·ÑÔÚÊý¾Ý²ã£¬µ«Õâ²¢²»´ú±íÊý¾Ý¿â±¾ÉíµÄËÙ¶È»ºÂý£¡ÎÒÁ˽⣬µÍЧµÄÊý¾Ý¿â·ÃÎÊÍùÍùÊÇÔì³ÉÐÔÄܲ»¼ÑµÄÖ÷ÒªÔÒò£¬Òò´Ëͨ³£»á½áºÏ·ÖÎöSQLÓï¾äµÄÖ´ÐдÎÊý¡£ÔÚÕâ¸öʾÀýÖУ¬ÒѾÄܹ»ºÜÇå³þµØ¿´µ½ËüÓë´ó¶àÊýÏìӦʱ¼äµÄ·åÖµÊÇÏà¹ØµÄ¡£
º£Á¿·þÎñ¼Ü¹¹£ºËäǧÍòÈË£¬ÎáÍùÒÓ Í¨¹ý¹¤¾ßÍŶÓÊ¹Ð§Òæ×î´ó»¯£¬FacebookÊÇÈçºÎ×öµÄ ÏëÒª¿ìËÙѧϰAmazon
EMR×î¼Ñʵ¼ù£¬¸Ï¿ì±¨ÃûInfoQÔÚÏß¿ÎÌà ÄãÁ˽⼼ÊõÁìµ¼Óë¼¼Êõ¹ÜÀíµÄ²î±ðÂ𣿠֤ȯÐÐÒµµÄDockerÓ¦ÓÃʵ¼ù
Ïà¹ØÔÞÖúÉÌ
ÎÒËù¹Û²ìµ½×î³£¼ûµÄÎÊÌâģʽ¾ÍÊÇÔã¸âµÄÊý¾Ý¿â·ÃÎÊģʽ£¬´ËÍ⻹ÓйýÓÚϸÁ£¶ÈµÄ·þÎñµ÷Óá¢Ôã¸âµÄ¹²ÏíÊý¾Ý·ÃÎʹ²Ïí¡¢¹ý¶ÈµÄÈÕÖ¾¼Ç¼£¬ÒÔ¼°ÓÉÄÚ´æÐ¹Â¶ÒÔ¼°´óÁ¿µÄ¶ÔÏó´´½¨Ëùµ¼ÖµÄÀ¬»ø»ØÊÕÓ°Ïì»òÊÇÓ¦ÓóÌÐòµÄ±ÀÀ£¡£
¿ÉÑ¡µÄÕï¶Ï¹¤¾ß
ÔÚ±¾ÎÄÖУ¬ÎÒ½«×¨×¢ÓÚ̽ÌÖÊý¾Ý¿â·½ÃæµÄÎÊÌ⣬ÒòΪÎÒÊ®·ÖÈ·ÐÅÄãµÄËùÓÐÓ¦Óö¼ÊÇÒòÕâЩ·ÃÎÊģʽÖеÄijһÖÖ¶ø²úÉúÎÊÌâµÄ£¡Äã¿ÉÒÔÔÚÊг¡ÉÏÒÑÓеĸ÷ÖÖÐÔÄÜÕï¶Ï¡¢×·×Ù£¬»òÊÇAPM¹¤¾ßÖ®¼äËæÒâÑ¡Ôñ£¬²»¹ýÎÒËùÑ¡ÔñµÄÊÇÃâ·ÑµÄDynatrace
Personal License¡£Java±¾ÉíÒ²ÌṩÁ˸÷ÖÖ³öÉ«µÄ¹¤¾ß£¬ÀýÈçJava Mission ControlµÈµÈ¡£Ðí¶àÌṩÊý¾Ý·ÃÎʹ¦ÄܵĿò¼ÜÒ²¾³£Í¨¹ýÆäÈÕÖ¾Êä³öÌṩ¸÷ÖÖÕï¶ÏÑ¡ÏÀýÈçHibernate»òSpringµÈµÈ¡£
ÔÚʹÓÃÕâЩ¸ú×Ù¹¤¾ßʱ£¬Í¨³£²»ÐèÒª¶Ô´úÂë½øÐÐÈκÎÐ޸ģ¬ÒòΪËûÃǶ¼ÀûÓÃÁËJVMTI£¨JVM Tooling
Interface£©ÒÔ²¶»ñ´úÂë²ãÃæµÄÐÅÏ¢£¬ÉõÖÁÄܹ»¿çÔ¶³ÌµÄ¸÷²ã´Î½øÐе÷ÓÃ×·×Ù£¬ÕâÒ»µã¶ÔÓÚ·Ö²¼Ê½¡¢ÃæÏò£¨Î¢£©·þÎñµÄÓ¦ÓÃÀ´Ëµ·Ç³£ÊµÓá£ÄãËùÒª×öµÄ¾ÍÊÇÐÞ¸ÄÄãµÄJVMÆô¶¯ÃüÁîÐÐÑ¡ÏÒÔ¼ÓÔØÕâЩ¹¤¾ß¡£Ä³Ð©¹¤¾ßµÄ¿ª·¢ÉÌ»¹ÌṩÁËÓëIDEµÄ¼¯³É¹¦ÄÜ£¬ÄãÖ»Ðè¼òµ¥µØ±íʾ¡°ÔÚÔËÐÐʱ¿ªÆôXYZÐÔÄÜÕï¶Ï¹¦ÄÜ¡±¡£ÎÒÔÚYouTubeÉÏ×öÁËÒ»¸ö¼òµ¥µÄÊÓÆµÖ¸ÄÏ£¬ÑÝʾÁËÈçºÎ¶ÔÔÚEclipseÖÐÆô¶¯µÄÓ¦ÓýøÐÐ×·×Ù¡£
ÕÒ³öÊý¾Ý¿âµÄÐÔÄÜÈȵ㼴ʹÄãÒѾ·¢ÏÖÔì³ÉÓ¦ÓÃÕûÌåÏìӦʱ¼ä¹ý³¤µÄÖ÷ÒªÔÒòÔÚÓÚÊý¾Ý¿â£¬µ«Ò²²»ÒªÒò´Ë¾ÍÇáÂʵØÖ¸ÔðÊý¾Ý¿âÓëDBA£¡Ôì³ÉÊý¾Ý¿â·±Ã¦µÄÔÒò¿ÉÄÜÓÐÒÔϼ¸ÖÖ£º
¶ÔÊý¾Ý¿âµÄʹÓùýÓÚµÍЧ£º´íÎóµÄ²éѯÉè¼Æ¡¢Ôã¸âµÄÓ¦ÓóÌÐòÂß¼¡¢¶ÔÓÚÊý¾Ý·ÃÎÊ¿ò¼ÜµÄÅäÖò»ÕýÈ·
Ôã¸âµÄÊý¾Ý¿âÉè¼ÆÓëÊý¾Ý½á¹¹£º±íµÄ¹ØÁª¡¢»ºÂýµÄ´æ´¢ÊÓͼ¡¢È±Ê§µÄ»ò´íÎóµÄË÷Òý¡¢¹ýÆÚµÄ±íͳ¼ÆÐÅÏ¢
²»Ç¡µ±µÄÊý¾Ý¿âÅäÖã¬ÀýÈçÄÚ´æ¡¢´ÅÅÌ¡¢±í¿Õ¼ä¡¢Á¬½Ó³ØµÈµÈ
ÔÚ±¾ÎÄÖУ¬ÎÒ½«×ÅÖØ½²½âÈçºÎÔÚÓ¦ÓóÌÐò¶Ë½«·ÃÎÊÊý¾Ý¿âËùÏûºÄµÄʱ¼ä¼õÖÁ×îµÍ£º
Õï¶ÏÔã¸âµÄÊý¾Ý¿â·ÃÎÊģʽ
ÔÚ¶ÔÓ¦ÓóÌÐò½øÐÐÎÊÌâÕï¶Ïʱ£¬ÎÒͨ³£×ÜÒª¼ì²é¼¸¸öÊý¾Ý¿â·ÃÎÊģʽ¡£ÎÒ»áÖð¸ö·ÖÎöÓ¦ÓõÄÇëÇ󣬲¢½«ÕâЩÎÊÌâ·Ö±ð·ÅÈëÒÔÏÂÕâ¸ö¡°DBÎÊÌâģʽ¡±µÄ·ÖÀà±íÖУº
¹ý¶àµÄSQLÖ´ÐУ¨Excessive SQLs£©£ºÖ´ÐдóÁ¿£¨´óÓÚ500£©²»Í¬µÄSQLÓï¾ä
N+1´Î²éѯÎÊÌ⣨N+1 Query£©£º¶à´Î£¨´óÓÚ20£©Ö´ÐÐÏàͬµÄSQLÓï¾ä
µ¥Ò»SQLÓï¾äÖ´ÐлºÂý£¨Slow Single SQL£©£ºÄ³¸öµ¥Ò»µÄSQLÓï¾äÖ´ÐÐʱ¼äÕ¼¾ÝÁËÏìӦʱ¼äµÄ80%ÒÔÉÏ
Êý¾ÝÇý¶¯ÎÊÌ⣨Data-Driven£©£ºÍ¬ÑùµÄÇëÇó£¬ÓÉÓÚÊäÈë²ÎÊýµÄ²»Í¬£¬»áÖ´Ðв»Í¬µÄSQLÓï¾ä
Êý¾Ý¿â·±Ã¦£¨Database Heavy£©£ºÊý¾Ý¿âÖ´ÐеÄ×ÜÌåʱ¼äÕ¼¾Ý×ÜÌåÏìӦʱ¼äµÄ60%ÒÔÉÏ
δ¾Ô¤´¦ÀíµÄÓï¾ä£¨Unprepared Statements£©£ºÔÚÖ´ÐÐÏàͬµÄSQLʱδ¶ÔÓï¾ä½øÐÐÔ¤´¦Àí
Á¬½Ó³Ø×ÊÔ´Óù⣨Pool Exhaustion£©£ºÓÉÓÚÁ¬½Ó»ñȡʱ¼ä¹ý³¤Ëùµ¼Ö£¨getConnectionµÄʱ¼ä³¬¹ýÁËexecuteStatement£©
µÍЧµÄÁ¬½Ó³Ø·ÃÎÊ£¨Inefficient Pool Access£©£º¶ÔÁ¬½Ó³ØµÄ·ÃÎÊ´ÎÊý¹ý¶à£¨¶ÔgetConnectionµÄµ÷Óó¬¹ýÁËexecuteStatementµ÷ÓôÎÊýµÄ50%£©
Êý¾Ý¿â·þÎñ·þÎñÆ÷³¬¸ººÉ£¨Overloaded Database Server£©£ºÀ´×Ô¸÷¸öÓ¦ÓõÄÇëÇó¹ý¶à£¬Ôì³ÉÁËÊý¾Ý¿â·þÎñÆ÷³¬¸ººÉ
ʾÀý1£º×ÔÖ÷Éè¼ÆµÄO/RÓ³ÉäÆ÷²úÉúÁ˹ý¶àµÄSQL
ÎҵĵÚÒ»¸öʾÀýÊÇÒ»¸öwebÓ¦ÓóÌÐò£¬ËüÄܹ»Ìṩij´±´óÂ¥ÖеĻáÒéÊÒÐÅÏ¢¡£»áÒéÊÒµÄÐÅÏ¢¶¼±£´æÔÚij¸öÊý¾Ý¿âÖУ¬Ã¿´Îµ±Óû§Éú³É»áÒéÊÒÐÅÏ¢µÄ±¨±íʱ£¬¾Í»áµ÷ÓÃij¸ö×Ô¶¨ÒåµÄÊý¾Ý·ÃÎʲãÒÔ·ÃÎʸÃÊý¾Ý¿â¡£
ÔÚ¶Ô¸ö±ðÇëÇó½øÐзÖÎöʱ£¬ÎÒ×ÜÊÇ´ÓËùνµÄÊÂÎñÁ÷£¨Transaction Flow£©×ÅÊÖ¼ì²é¡£ÊÂÎñÁ÷ÊÇÒ»ÖÖ¿ÉÊÓ»¯Ñ¡Ï¿ÉÕ¹ÏÖ³öÓ¦ÓóÌÐò´¦ÀíÇëÇóµÄ¹ý³Ì¡£¶ÔÓÚ»áÒéÊÒÐÅÏ¢±¨±íÕâ¸öÇëÇóÀ´Ëµ£¬¿ÉÒÔ¿´µ½£¬¸ÃÇëÇóÊ×ÏȽøÈëweb·þÎñÆ÷²ã£¨Í¼×󣩡¢Ëæºó½øÈëÓ¦Ó÷þÎñ²ã£¨Í¼ÖУ©£¬È»ºó¶ÔÊý¾Ý²ã·¢Æðµ÷Óã¨Í¼ÓÒ£©¡£ÕâЩ²ãÖ®¼äµÄ¡°Á´½Ó¡±±íÏÖÁËÕâЩ²ãÖ®¼äµÄ½»»¥´ÎÊý£¬ÀýÈçÕâ¸öµ¥Ò»µÄÇëÇóÖ´ÐÐÁ˶àÉÙ´ÎSQL²éѯ¡£
´ÓÕâ¸öÆÁÄ»ÉÏÎÒÃÇ¿ÉÒÔÁ¢¼´·¢ÏÖÔì³ÉÎÊÌâµÄÍ·Á½ÖÖģʽ£¬¼´¹ý¶àµÄSQLÖ´ÐÐģʽÒÔ¼°Êý¾Ý¿â·±Ã¦Ä£Ê½¡£ÈÃÎÒÃÇÀ´·ÖÎöһϣº
(µã»÷·Å´óͼÏñ)

ºÜÈÝÒ׾ͿÉÒÔ¿´³öÕâ¸öÇëÇó²úÉúÁË´óÁ¿µÄSQLÓï¾äÖ´ÐУ¬²¢ÇÒÔì³ÉÊý¾Ý¿â·±Ã¦Ð§Ó¦£ºËü×ܹ²Ö´ÐÐÁË24889´ÎSQL£¡»¨·ÑÁË40.27Ã루ռÕû¸öÇëÇóʱ¼äµÄ66.51%£©²ÅÍê³ÉÕû¸öÖ´Ðйý³Ì£¡
Èç¹ûÎÒÃǶԸö±ðµÄSQLÓï¾ä½øÐзÖÎö£¬½«·¢ÏÖÕâ¸öÇëÇó»¹ÓÐÁíÍâµÄÎÊÌ⣬¼´N+1 ´Î²éѯÎÊÌâÒÔ¼°µÍЧµÄÁ¬½Ó³Ø·ÃÎÊ£¨ÏÂÎĽ«½øÐÐÏêϸÌÖÂÛ£©£º
(µã»÷·Å´óͼÏñ)

ÕâÖÖÔã¸âµÄ·ÃÎÊģʽÊÇÎÞ·¨Í¨¹ý¶ÔÊý¾Ý¿âµÄË÷Òý½øÐÐÓÅ»¯¶ø½â¾öµÄ¡£
ÎÒÒѾÎÞÊý´Î¿´µ½ÕâÖÖÎÊÌâ·¢ÉúÁË¡£Ó¦ÓõÄÂß¼ÐèÒª¶Ôij¸ö¶ÔÏóÁÐ±í½øÐеü´ú£¬µ«Ëü²¢Ã»ÓÐÑ¡ÔñʹÓá°Ì°À·¼ÓÔØ¡±£¨Eager
Loading£©·½Ê½£¬ÔòÊÇʹÓÃÁË¡°ÑÓ³Ù¼ÓÔØ¡±£¨Lazy Loading£©·½Ê½¡£ÕâÖÖÑ¡Ôñ¿ÉÄÜÀ´×ÔÓÚO/RÓ³Éä¿ò¼Ü£¬ÀýÈçHibernate»òSpring£¬Ò²¿ÉÄÜÀ´×ÔÓÚ×ÔÖ÷¿ª·¢µÄ¿ò¼Ü£¬ÕýÈçÉÏÎÄËùÊöµÄʾÀýÒ»Ñù¡£¸ÃʾÀýʹÓÃÁËijÖÖ×ÔÖ÷¿ª·¢µÄʵÏÖ·½Ê½£¬Ëü»á¼ÓÔØÃ¿¸ö»áÒéÊÒ¶ÔÏ󣬲¢Í¨¹ý¶ÀÁ¢µÄSQL²éѯÓï¾ä»ñȡÿ¸ö»áÒéÊÒµÄÈ«²¿ÊôÐÔ¡£Ã¿¸öSQL²éѯ¶¼ÊÇÔÚÒ»¸öÏòÁ¬½Ó³Ø»ñÈ¡µÄJDBCÁ¬½ÓÖÐÖ´Ðеģ¬È»ºóÔÚÿ¸ö²éѯÍê³ÉÖ®ºó¶¼»á·µ»Ø¡£ÕâÒ²½âÊÍÁËΪʲô¸ÃÇëÇó»á²úÉú12444´Îset
clientname²Ù×÷£¬ÒòΪSybase JDBCÇý¶¯Ã¿´ÎÏòÁ¬½Ó³ØÇëÇóÁ¬½Óʱ¶¼»áÌá½»ÕâÒ»ÇëÇó¡£Õâ¾ÍÊÇÎÊÌâËùÔÚ£¡ÆäËûµÄJDBCÇý¶¯Î´±Ø»á²úÉúset
clientnameÕâ¸öµ÷Óã¬Äã¿ÉÒԲ鿴һϵ÷ÓÃgetConnectionµÄ´ÎÊý£¬ÕâͬÑù¿É·´Ó³³öÕâ¸öÎÊÌâ¡£
¶ÔÓÚN+1´Î²éѯÎÊÌâ±¾ÉíÀ´Ëµ£¬Ê¹ÓÃÁ¬½Ó²éѯ¾Í¿ÉÒÔÇáÒ׵رÜÃâÕâÒ»ÎÊÌâ¡£ÔÚÕâ¸ö»áÒéÊÒÓëÊôÐÔµÄʾÀýÖУ¬¿ÉÒÔʹÓÃÒÔÏÂÁ¬½Ó²éѯ£º
select r.*, p.* from meeting_rooms as r inner join room_properties as p on p.room_id = r.room_id |
½á¹û¾ÍÊÇÕû¸öÖ´Ðйý³ÌÖ»²úÉúÁË1´Î²éѯִÐУ¬²»ÔÙÊÇ12000¶à´ÎÁË£¡Í¬Ê±Ò²Ãâ³ýÁË12000´ÎÁ¬½ÓµÄ»ñÈ¡²Ù×÷ÒÔ¼°¶Ô¡°set
clientname¡±µÄµ÷Óá£
ʾÀý2£º´íÎóµÄHibernateÅäÖÃÔì³ÉÁ˹ý¶àµÄSQLÖ´ÐÐ
¾ÝÎÒËùÖª£¬Hibernate»òÆäËûO/RÓ³ÉäÆ÷ÓÐÐí¶àʹÓÃÕß¡£ÎÒÏëÒªÌáÐÑÄãÃÇÒ»µã£¬O/RÓ³ÉäÆ÷ËùÌṩµÄÑÓ³Ù¼ÓÔØÓḛ̈À·¼ÓÔØÑ¡ÏÒÔ¼°ÆäËû¸÷ÖÖ»º´æ²ã¸÷ÓÐÆä´æÔÚµÄÀíÓÉ¡£¶ÔÓÚÌØ¶¨µÄÓÃÀý£¬ÐèҪȷ±£ÄãÕýÈ·µØÊ¹ÓÃÁËÕâÐ©ÌØÐÔÓëÑ¡Ïî¡£
ÔÚÏÂÃæÕâ¸öʾÀýÖУ¬ÑÓ³Ù¼ÓÔØ²¢²»ÊÇÒ»ÖֺõÄÑ¡Ôñ£¬ÒòΪ¼ÓÔØ2ǧ¸ö¶ÔÏóÒÔ¼°ËûÃǵÄÊôÐԻᵼÖ²úÉú4ǧ¶à´ÎSQL²éѯ¡£¿¼Âǵ½ÎÒÃÇ×ÜÊÇÐèÒª»ñÈ¡ËùÓжÔÏó£¬ÄÇô¸üºÃµÄ·½Ê½ÊÇ̰À·¼ÓÔØÕâЩ¶ÔÏó£¬È»ºó¿¼ÂǶÔËûÃǽøÐлº´æ£¬Ç°ÌáÊÇÕâЩ¶ÔÏó²»»á±ä¸üµÃÊ®·ÖƵ·±£º
(µã»÷·Å´óͼÏñ)

ÔÚʹÓÃHibernate»òSpringµÈO/RÓ³ÉäÆ÷ʱ£¬ÐèҪѡÔñÕýÈ·µÄ¼ÓÔØÓ뻺´æÑ¡Ïî¡£ÄãÐèÒªÀí½âËûÃǵÄÄ»ºó¹¤×÷ÔÀí¡£
´ó¶àÊýO/RÓ³ÉäÆ÷¶¼»áͨ¹ýÈÕÖ¾¼Ç¼ÌṩÓÅÐãµÄÕï¶ÏÑ¡ÏͬʱҲ¿ÉÒԲ鿴ÔÚÏßÉçÇøÖеÄÄÚÈÝ£¬ÒÔÁ˽â¸÷ÖÖ×î¼Ñʵ¼ù¡£ÍƼöÄãÔĶÁÓÉAlois
Reitbauer׫дµÄһϵÁв©¿ÍÎÄÕ£¬ËûÔø¾ÔÚHibernateÍÆ³öµÄÔçЩÄêÍ·¶ÔÆä½øÐйý·Ç³£ÉîÈëµÄÑо¿¡£ÔÚÕâϵÁÐÎÄÕÂÖУ¬ËûÌØ±ðÇ¿µ÷ÁËÈçºÎÓÐЧµØÊ¹Óûº´æÓë¼ÓÔØÑ¡Ïî¡£
ʾÀý3£ºÔÚ×Ô¶¨ÒåDB·ÃÎÊ´úÂëÖÐʹÓõÄÓï¾äδ¾¹ýÔ¤´¦Àí
µ±Êý¾Ý¿âÒýÇæÍê³É¶ÔijÌõSQLÓï¾äµÄ½âÎö£¬²¢´´½¨ÁËÊý¾Ý·ÃÎʵÄÖ´Ðмƻ®ºó£¬¸Ã½á¹û»á±»±£´æÔÚÊý¾Ý¿âÖеÄÒ»¸ö»º´æÇøÓòÖÐÒÔ±ãÖØÓ㬶øÎÞÐèÖØÐ½âÎöÕâÒ»Óï¾ä£¨Óï¾ä½âÎöÊÇÊý¾Ý¿âÖÐ×îºÄ·ÑCPUʱ¼äµÄ²Ù×÷£©¡£ÓÃÓÚÔÚ»º´æÖÐÕÒµ½Ä³¸ö²éѯµÄ¼üÊÇÓï¾äµÄÈ«Îı¾¡£ÕâÒ²Òâζ×Å£¬Èç¹ûÄãµ÷ÓÃÁË1000´ÎÏàͬµÄÓï¾ä£¬È´ÎªÆä´«ÁË100¸ö²»Í¬µÄ²ÎÊýÖµ£¨ÀýÈçwhereÓï¾äÖеÄÖµ£©£¬ÄÇôÔÚ»º´æÖоͻá²úÉú1000¸ö²»Í¬µÄÌõÄ¿£¬¶øÊ¹ÓÃÁËвÎÊýµÄµÚ1001´Î²éѯҲ±ØÐë±»ÔٴνâÎö¡£ÕâÖÖ¹¤×÷·½Ê½·Ç³£µÍЧ¡£Òò´Ë£¬ÎÒÃÇÌá³öÁË¡°Ô¤´¦ÀíµÄÓï¾ä¡±ÕâÒ»¸ÅÄijÌõÓï¾ä¾¹ýÔ¤´¦Àí¡¢½âÎöºó±»±£´æÔÚ»º´æÖУ¬ÒÔռλ·ûµÄ·½Ê½±íʾ±äÁ¿¡£ÔÚÕâÌõÓï¾äµÄʵ¼ÊÖ´Ðйý³ÌÖУ¬ÕâЩռλ·û»á±»Êµ¼ÊµÄÖµËùÌæ»»£¬ÎÞÐèÔٴνâÎöÕâÌõÓï¾ä£¬¿ÉÒÔÖ±½Ó´Ó»º´æÖÐÕÒ³öÖ´Ðмƻ®¡£
Êý¾Ý¿â·ÃÎÊ¿ò¼Üͨ³£ÔÚÕâÒ»µãÉÏ×öµÃºÜ³öÉ«£¬»á¶Ô²éѯÓï¾ä½øÐÐÔ¤´¦Àí¡£µ«ÔÚ×Ô¶¨Òå´úÂëÖУ¬ÎÒ·¢ÏÖ¿ª·¢Õß¾³£»áºöÂÔÕâÒ»µã¡£ÔÚÒÔÏÂʾÀýÖУ¬Ö»ÓÐһС²¿·ÖSQLÖ´Ðо¹ýÁËÔ¤´¦Àí¹ý³Ì£º
(µã»÷·Å´óͼÏñ)

ͨ¹ý¶ÔSQLÖ´ÐдÎÊýÓëÒÑÔ¤´¦ÀíµÄSQLÖ´ÐдÎÊý½øÐжԱȣ¬·¢ÏÖÁËδ¾Ô¤´¦ÀíµÄÊý¾Ý¿â·ÃÎʵÄÎÊÌâ
Èç¹ûÄã´òËã×ÔÐпª·¢Êý¾Ý¿â·ÃÎÊ´úÂ룬ÇëÔÙ´ÎÈ·ÈÏÄãÕýÈ·µØµ÷ÓÃÁËprepareStatement¡£¾ÙÀýÀ´Ëµ£¬Èç¹ûÄãµ÷ÓÃij¸ö²éѯ²»Ö¹1´Î£¬ÄÇôͨ³£À´Ëµ×îºÃÄܹ»Ê¹ÓÃPreparedStatement¡£Èç¹ûÄãÑ¡ÔñʹÓÿò¼ÜÒÔ·ÃÎÊÊý¾Ý£¬Ò²ÇëÔÙ´ÎÈ·ÈÏÕâЩ¿ò¼ÜµÄÐÐΪ£¬ÒÔ¼°ÔÚÓÅ»¯ºÍÖ´ÐÐËùÉú³ÉµÄSQLʱÓÐÄÄЩÅäÖÃÑ¡Ïî¿ÉÒÔÑ¡Ôñ¡£ÊµÏÖÒ»µã×î¼òµ¥µÄ·½Ê½ÊǶÔexecuteStatementÓëprepareStatementÖ´ÐеĴÎÊý½øÐÐ¼à¿Ø¡£Èç¹ûÄãÖØ¸´¶Ôÿ¸öSQL²éѯ½øÐÐÏàͬµÄ¼à¿Ø£¬ÄÇô½«ºÜÈÝÒ×µØÕÒµ½ÓÅ»¯Èȵ㡣
ʾÀý4£ºÓÉÓÚºÄʱµÄºó¶ËSQL±¨±íÖ´ÐУ¬Ôì³ÉÁ¬½Ó³ØÎÞ·¨ÓÐЧµØµ÷Õû´óС
ÎÒ¾³£·¢ÏÖÓÐЩӦÓûáʹÓÃĬÈϵÄÁ¬½Ó³Ø´óС£¬ÀýÈçÿ¸ö³Ø10»ò20¸öÁ¬½Ó¡£¿ª·¢Õß×ÜÊÇ»áºöÂÔ¶ÔÁ¬½Ó³Ø´óСµÄÓÅ»¯£¬ÒòΪËûÃÇûÓнøÐбØÒªµÄ´ó¹æÄ£¸ºÔزâÊÔ£¬Ò²²»ÖªµÀÓжàÉÙ¸öÓû§»áʹÓÃÕâЩÐÂÌØÐÔ£¬¸ü²»Á˽ⲢÐеÄDB·ÃÎʻᵼÖÂʲô½á¹û¡£Ò²ÓпÉÄÜÊÇ´ÓÔ¤·¢²¼»·¾³×ªÏòÉú²ú»·¾³µÄ²¿Êðʱ¡°¶ªÊ§¡±ÁËÁ¬½Ó³ØµÄÅäÖÃÐÅÏ¢£¬µ¼ÖÂÉú²ú»·¾³ÖеÄÅäÖÃʹÓÃÁËÓ¦Ó÷þÎñÆ÷ÖеÄĬÈÏÅäÖá£
ͨ¹ýJMXÖ¸±êÐÅÏ¢£¬Äܹ»·½±ãµØ¶ÔÁ¬½Ó³ØµÄʹÓÃÇé¿ö½øÐÐ¼à¿Ø¡£Ã¿ÖÖÓ¦Ó÷þÎñÆ÷£¨Tomcat¡¢JBoss¡¢WebsphereµÈµÈ£©¶¼»áÌṩÕâЩָ±ê£¬²»¹ýÓÐЩ·þÎñÆ÷ÐèÒªÄãÃ÷È·µØ¿ªÆôÕâÖÖÌØÐÔ¡£ÏÂͼչʾÁËij¸öȺ¼¯ÖеÄWebLogic·þÎñÆ÷µÄÁ¬½Ó³ØÊ¹ÓÃÇé¿ö¡£Äã¿ÉÒÔ¿´µ½£¬ÔÚÆäÖÐÈý̨ӦÓ÷þÎñÆ÷ÖУ¬¡°»î¶¯µÄDBÁ¬½ÓÊýÁ¿¡±¶¼ÒѾ´ïµ½×î´óÖµ¡£
(µã»÷·Å´óͼÏñ)

È·±£ÄãÊʵ±µØµ÷ÕûÁËÁ¬½Ó³ØµÄ´óС£¬²»ÒªÊ¹ÓÃÓëÄãÆÚ´ýµÄ¸ºÔØÇé¿ö²»·ûµÄĬÈÏÉèÖÃ
³öÏÖÕâÒ»ÎÊÌâµÄ¸ù±¾ÔÒò²»ÔÚÓÚ·ÃÎÊÁ¿µÄ·åÖµ¡£ÔÚ±¾ÎÄ¿ªÍ·²¿·ÖËù½éÉܵġ°ÏµÍ³¸ºÔØ / ÏìӦʱ¼ä / Êý¾Ý¿âÖ´ÐдÎÊý¡±Õâ¸öÒDZí°åÖÐÏÔʾ£¬Ó¦Óò¢Ã»ÓвúÉúÌØ±ðµÄ·ÃÎÊÁ¿·åÖµÇé¿ö¡£×îÖÕ·¢ÏÖ£¬ÔÚÿÌìÏÂÎç2µã¶àÕâ¸öʱ¼ä¶ÎÉ趨ÁËÒ»¸öÔËÐб¨±íµÄ¼Æ»®£¬ËüÐèÒªÖ´Ðжà¸öÔËÐÐʱ¼äÏ൱³¤µÄUPDATEÓï¾ä£¬Ã¿¸öÓï¾ä¶¼Ê¹ÓÃÁ˲»Í¬µÄÁ¬½Ó¡£Õâ»áÔÚ¼¸·ÖÖÓÄÚ×èÈûÆäËûÁ¬½Ó£¬µ¼ÖÂÁËÓ¦ÓóÌÐòÔÚ¡°Õý³£µÄ¡±·ÃÎÊÁ¿Ï³öÏÖÐÔÄÜÎÊÌ⣬ÒòΪÓû§µÄÇëÇóÎÞ·¨»ñµÃÊý¾Ý¿âµÄÁ¬½Ó£º
(µã»÷·Å´óͼÏñ)

¸ö±ðµÄSQLÖ´ÐÐ×èÈûÁËÆäËûÁ¬½Ó´ï¼¸·ÖÖÓ£¬Ôì³ÉÁËÁ¬½Ó³Ø×ÊÔ´ÏûºÄ´ù¾¡µÄÎÊÌâ
Èç¹ûÄãÒѾÁ˽⵽ijЩÇëÇó»áʹÁ¬½Ó¹ÒÆðÒ»¶Î½Ï³¤µÄʱ¼ä£¬Äã¿ÉÒÔÑ¡ÔñÒÔϼ¸ÖÖ·½°¸£º
½«ÕâЩÇëÇó·¢ËÍÖÁ¶ÀÁ¢µÄ·þÎñÆ÷ÉÏ£¬±ÜÃâÓ°ÏìÆäËûʹÓÃÕß
ÖØÐÂÉ趨ÆäÖ´ÐÐʱ¼ä£¬Ö»ÔÚ²»»áÓ°Ïìµ½ÆäËûÈ˵Äʱ¼ä¶Î²ÅÖ´ÐÐ
Ôö¼ÓÁ¬½Ó³Ø´óС£¬È·±£ÔÚÕý³£µÄ·ÃÎÊÁ¿ÏÂÓÐ×ã¹»µÄÁ¬½Ó¿ÉÓÃ
²»¹ý£¬Ê×ÏÈÄãҪȷ±£¶ÔÕâЩ²éѯ½øÐÐÓÅ»¯¡£Í¨¹ý·ÖÎöSQL²éѯִÐмƻ®£¬ÒÔÕÒ³öÄÄЩ²Ù×÷ÊÇ×îºÄʱµÄ¡£Èç½ñ£¬´ó¶àÊýAPM¹¤¾ß¶¼Äܹ»ÈÃÄãÒÔijÖÖ·½Ê½»ñȡij¸öSQLÓï¾äµÄÖ´Ðмƻ®¡£Èç¹ûûÓпÉÓõŤ¾ß£¬×î¼òµ¥µÄ·½Ê½¾ÍÊÇʹÓÃÊý¾Ý¿âµÄÃüÁîÐй¤¾ß£¬»òÕß×Éѯij¸öDBA£¬ÈÃËû°ïÖúÄãÉú³ÉÖ´Ðмƻ®¡£
(µã»÷·Å´óͼÏñ)

ͨ¹ýѧϰSQL²éѯִÐмƻ®£¬¶ÔÄãµÄSQLÓï¾ä½øÐÐÓÅ»¯¡¢
Ö´Ðмƻ®Äܹ»ÏÔʾ³öDBÒýÇæ´¦ÀíSQLÓï¾äµÄ·½Ê½¡£Ôì³ÉSQLÓï¾äÖ´ÐлºÂýµÄÔÒò¶àÖÖ¶àÑù£¬²»½ö½öÏÞÓÚȱÉÙË÷Òý»òÊÇʹÓÃË÷ÒýµÄ·½Ê½²»¶Ô£¬ºÜ¶àÇé¿öÏÂÊÇÒòΪÉè¼Æ¡¢½á¹¹»òÁ¬½Ó²éѯËùÔì³ÉµÄ¡£Èç¹ûÄã²¢·ÇSQL·½ÃæµÄר¼Ò£¬¿ÉÒÔÏòDBA»òSQL´óÅ£ÇóÖú¡£
¸ºÔزâÊÔÒÔ¼°ÔÚÉú²ú»·¾³ÖнøÐÐ¼à¿ØµÄÌáʾÓë¼¼ÇɳýÁ˶Ը÷¸öÇëÇó½øÐзÖÎö£¬ÒÔÖ¸³öÕâЩÎÊÌâģʽ֮Í⣬ÎÒͬÑùÒ²»á¹Ø×¢µ±Ä³¸öÓ¦ÓóÌÐòÔÚ¸ºÔØÇé¿öϵij¤ÆÚÇ÷ÊÆ¡£³ýÁËÎÒÔÚ±¾ÎÄ¿ªÍ·ÎªÄãչʾµÄÒDZí°åÖ®Í⣬ÎÒÒ²»áÖ¸³öÊý¾ÝÇý¶¯ÐÐΪµÄ±ä»¯£¬²¢¶ÔÊý¾Ý»º´æÊÇ·ñÕýÈ·ÔËÐнøÐÐÑéÖ¤¡£
¼ì²éµã1£ºÓÉÓÚÊý¾Ý»º´æµÄ´æÔÚ£¬¶ÔDBµÄ·ÃÎÊ´ÎÊýÓ¦µ±Öð½¥¼õÉÙ
ÏÂÃæÕâÕÅͼ±íչʾÁËSQLÓï¾äÖ´ÐÐµÄÆ½¾ù´ÎÊý£¨ÂÌÉ«£©ÒÔ¼°SQLÓï¾äÖ´ÐеÄ×Ü´ÎÊý£¨À¶É«£©¡£ÎÒÃÇΪӦÓýøÐÐÁËÒ»´ÎÁ½Ð¡Ê±µÄÐÔÄܲâÊÔ£¬±£³Ö¸ºÔØÊ¼ÖÕ´¦Óڽϸßˮƽ¡£ÎÒËùÆÚÍûµÄ½á¹ûÊÇÆ½¾ù´ÎÊýÖð½¥¼õÉÙ£¬¶ø×Ü´ÎÊýÔòÇ÷ÏòƽÎÈ¡£ÒòΪ°´ÕÕÎҵļÙÉ裬´ÓDBËù»ñÈ¡µÄÊý¾Ý´ó¶àÊýÊǾ²Ì¬µÄ£¬»òÊǻᱻ»º´æÔÚij¸ö²»Í¬µÄ²ã¡£
(µã»÷·Å´óͼÏñ)

Èç¹ûÄãµÄÓ¦ÓñíÏÖ²»·ûºÏÕâÒ»Ô¤ÆÚ£¬ÄÇô¿ÉÄÜÊÇÓöµ½ÁËÊý¾ÝÇý¶¯µÄÐÔÄÜÎÊÌ⣬»òÊDzúÉúÁË»º´æÎÊÌâ
¼ÙÉèÈçÎÒ֮ǰËùչʾµÄÒ»Ñù£¬ÄãµÄÓ¦ÓÃÖвúÉúÁ˳£¼ûµÄN+1´Î²éѯÎÊÌâ¡£ÄÇÃ´Ëæ×ÅÖÕ¶ËÓû§ÔÚDBÖвúÉúÔ½À´Ô½¶àµÄÊý¾Ý£¬Ó¦ÓóÌÐòËù²úÉúµÄSQLƽ¾ù´ÎÊýÒ²½«²»¶ÏÌá¸ß£¬ÒòΪÕâЩ²éѯËù·µ»ØµÄÊý¾ÝÒ²»áÔ½À´Ô½¶à£¡Òò´Ë£¬ÇëÎñ±Ø×¢ÒâÕâЩÊý×Ö£¡
¼ì²éµã2£º°´Àà±ðÖ¸³öSQL·ÃÎÊģʽ
ʾÀý4±íÏÖÁËij¸öºǫ́±¨±íÓ¦ÓÃÔÚÿÌìÏÂÎç2µãÖ´ÐÐËùÔì³ÉµÄÎÊÌ⣬ÓëÖ®ÀàËÆ£¬ÎÒͬÑùÒ²»á¹Ø×¢SQL·ÃÎÊËæ×Åʱ¼ä±ä»¯µÄģʽ¡£ÎÒËù¹Ø×¢µÄ²»½ö°üÀ¨×ÜÖ´ÐÐʱ¼ä£¬Í¬Ê±Ò²°üÀ¨SELECT¡¢INSERT¡¢UPDATEÓëDELETEµÄÖ´ÐдÎÊý¡£ÕâÑùÒ»À´£¬ÎÒ¾ÍÄܹ»Ö¸³öÊÇ·ñÔÚij¸öʱ¼ä¶ÎÄÚ»á½øÐÐÒ»Ð©ÌØ±ðµÄ»î¶¯£¬ÀýÈçͨ¹ýºǫ́×÷Òµ¶Ô´óÅúÊý¾Ý½øÐиüС£
(µã»÷·Å´óͼÏñ)

ͨ¹ý¹Û²ì×ÜÖ´ÐÐʱ¼ä£¬ÒÔ¼°SELECT¡¢INSERT¡¢UPDATEÓëDELETEµÄÖ´ÐдÎÊý£¬Á˽âÓ¦ÓõÄÊý¾Ý¿â·ÃÎÊÐÐΪ
½øÐдóÁ¿¸üвÙ×÷µÄÅú´¦Àí×÷ÒµµÄÖ´ÐÐÐèÒªÒ»¶Îʱ¼ä²ÅÄÜÍê³É£¬ÓÈÆä¶ÔÓÚ°üº¬´óÁ¿ÐеıíÀ´Ëµ¸üΪÃ÷ÏÔ¡£Èç¹ûÕûÕűíÒò´Ë±»Ëø×¡£¬ÄÇôÆäËûÐèÒª¶ÔÕâÕÅ±í¡¢ÄÄÅÂÖ»ÊÇ¶ÔÆäÖÐijЩÐнøÐиüеÄÇëÇó¶¼±ØÐëµÈ´ýËø±»ÊÍ·Å¡£ÄãÓ¦¿¼ÂÇÔÚûÓÐÆäËûÓû§ÔÚÏßµÄʱ¼ä¶ÎÔËÐÐÕâЩ×÷Òµ£¬»òʵÏÖijÖÖ²»Í¬µÄ¼ÓËøÂß¼£¬ÊµÏÖ¶Ôµ¥¸öÐеļÓËø¡¢¸üÐÂÒÔ¼°ÊͷŲÙ×÷¡£
¼ì²éµã3£ºÊý¾Ý¿âʵÀýµÄÔËÐÐ״̬
ÔÚ±¾ÎÄÖУ¬ÎÒ×ÅÖØ·ÖÎöµÄÊý¾Ý¿âÐÔÄÜÎÊÌâ¶àÊýÓëÊý¾Ý¿â·þÎñÆ÷±¾ÉíÊÇ·ñ»ºÂýÊÇÎ޹ص쬶øÖ÷ÒªÊÇÓÉʹÓÃÁËÔã¸âµÄÊý¾Ý¿â·ÃÎÊģʽ£¨N+1´Î²éѯÎÊÌ⡢δ¾Ô¤´¦ÀíµÄÓï¾äµÈµÈ£©µÄÓ¦ÓóÌÐò´úÂë¡¢»òÊÇÅäÖôíÎ󣨵ÍЧµÄÁ¬½Ó³Ø·ÃÎÊ¡¢Êý¾ÝÇý¶¯ÎÊÌ⣩Ëùµ¼ÖµÄÎÊÌâ¡£
µ«ÊÇ£¬Èç¹ûÎÒÃÇÍêÈ«ºöÂÔÁËÊý¾Ý¿â±¾Éí£¬ÄÇÒ²ÊDz»Ã÷Öǵġ£Òò´Ë£¬ÎÒ×ÜÊÇ»á¶Ô¹Ø¼üµÄÊý¾Ý¿âÐÔÄÜÖ¸±ê½øÐмì²é¡£´ó¶àÊýÊý¾Ý¿â¶¼»áͨ¹ýÌØÊâµÄϵͳ±íÌṩ·á¸»µÄÐÔÄÜÐÅÏ¢£¬±ÈÈçOracle¾Í»áÌṩijЩv$±íÒÔ¼°ÊÓͼ£¬ÒÔ·ÃÎʹؼüµÄÊý¾Ý¿âÐÔÄÜÖ¸±ê£¨»á»°¡¢µÈ´ýʱ¼ä¡¢½âÎöʱ¼ä¡¢Ö´ÐÐʱ¼äµÈµÈ£©£¬»òÊDZíËøÒÔ¼°ÔËÐÐʱ¼ä½ÏÂýµÄSQLµÈÐÅÏ¢£¬ÕâЩÐÅÏ¢À´×ÔÓÚʹÓÃÕâ¸ö¹²ÏíµÄÊý¾Ý¿âʵÀýµÄ¸÷¸öÓ¦ÓóÌÐò¡£
ÎÒÔÚ½øÐÐÊý¾Ý¿â½¡¿µ¼ì²éʱͨ³£»á¹Û²ìÁ½¸öÒDZí°å£¬Äã¿ÉÒÔÔÚ´Ë¿´µ½À´×ÔÓÚÕâЩÐÔÄܱíÖеÄÖ¸±êÊý¾Ý£º
(µã»÷·Å´óͼÏñ)
>
¹Û²ìÊý¾Ý¿âÊÇ´¦ÓÚ½¡¿µ×´Ì¬£¬»¹ÊÇÓÉÓÚ¹²Ïí¸ÃÊý¾Ý¿âʵÀýµÄÓ¦ÓòúÉú¹ý¶àµÄ¸ºÔضø²úÉúÁËÓ°Ïì¡£
(µã»÷·Å´óͼÏñ)

ͨ¹ý±íËøµÈÐÅÏ¢£¬ÅжÏÊÇ·ñÓÐij¸öÕýÔÚÖ´ÐÐÖеÄSQLÓï¾ä¶Ô·þÎñÆ÷ÄËÖÁÄãµÄÓ¦ÓÃÔì³ÉÁ˸ºÃæÓ°Ïì
ÔÚ³ÖÐø¼¯³ÉÁ÷³ÌÖжÔÊý¾Ý¿âÖ¸±ê½øÐÐ×Ô¶¯¼ì²âÔÚÎÒΪÄã½éÉÜ·ÖÎö¹Ø¼üÊý¾Ý¿âÖ¸±êÒÔ¼°ÓÃÀýµÄһЩеã×Ó֮ǰ£¬ÎÒÏ£ÍûÊ×ÏÈÄܹ»ÃÖ²¹Ò»¸öȱʧµÄÖ÷Ì⣬¶øÕâÒ»µãÊÇÎÒÃǶ¼Ó¦µ±¿¼Âǵ½µÄ£¬ÄǾÍÊÇ×Ô¶¯»¯£¡
ÎÒ½¨ÒéÄã²»ÒªÊÖ¶¯µØÖ´ÐÐÕâЩ¼ì²é²½Ö裬¶øÊÇͨ¹ý³ÖÐø¼¯³É¹¤¾ß¼ì²éÕâЩָ±ê£¬½«ÕâÒ»²½ÖèÓëµ¥Ôª²âÊÔ¡¢¼¯³É²âÊÔ¡¢REST
API»òÆäËûÀàÐ͵ŦÄÜÐÔ²âÊԵȲ½Öè½áºÏÔÚÒ»Æð¡£Èç¹ûÄãÒѾÉè¼Æ³öÒ»ÌײâÊÔÓÃÀý¼¯£¬ÓÃÓÚ¼ì²é¸÷ÖÖREST API»òÐÂÌØÐԵŦÄÜ£¬ÄÇôΪʲô²»ÔÚÿ´Î¹¹½¨µÄ²âÊÔÖ´ÐÐÆÚ¼äÈ¥²¶»ñÕâЩָ±êÄØ£¿ÕâÖÖ·½Ê½¿ÉÒÔ´øÀ´ÒÔÏÂÒæ´¦£º
ÈôúÂëÆÀÉó¹ý³ÌרעÓÚÕâЩָ±ê£¬¶ø²»ÊÇ·À´¸²È¥µØÔĶÁÿһÐдúÂë
Èç¹ûij¸ö´úÂëÇ©Èëµ¼ÖÂÁËÕâÖÖÎÊÌ⣬Ôò·¢³ö֪ͨ
ÏÂÃæÕâ·ùÆÁÄ»½ØÍ¼Õ¹Ê¾ÁËÿ´Î¹¹½¨Óëÿ´Î²âÊÔʱ¶ÔÕâЩָ±êµÄ×·×Ù£¬²¢ÔÚÆä±íÏÖÒ쳣ʱ·¢³ö¾¯¸æ¡£Äã¿ÉÒÔ½«ÕâЩָ±ê¼¯³ÉÔÚÄãµÄ¹¹½¨¹ÜµÀÖУ¬²¢ÇÒµ±Ä³¸ö´úÂë±ä¸üÔì³ÉÓ°Ïìʱͨ¹ý֪ͨÐÅÏ¢Á˽âÇé¿ö£¬ËæºóÁ¢¼´ÐÞ¸´ÕâÒ»ÎÊÌ⣬±ÜÃâµ±´úÂë·¢²¼µ½Éú²ú»·¾³Ê±²úÉúϵͳ±ÀÀ£µÄÇé¿ö¡£
(µã»÷·Å´óͼÏñ)

ÔÚÄãµÄ³ÖÐø¼¯³ÉÁ÷³ÌÖмÓÈëÕâЩָ±ê£¬²¢¶ÔÖ¸±êµÄ±ä»¯½øÐй۲죬ÒÔ×Ô¶¯µØÕÒ³ö¸÷ÖÖÔã¸âµÄÊý¾Ý¿â·ÃÎÊģʽ£¡
ÐÔÄÜÎÊÌâÔ¶²»Ö¹Êý¾Ý¿â
ÔÚ±¾ÎÄÖУ¬ÎÒÃÇרעµÄÊÇÊý¾Ý¿â·½ÃæµÄÈȵãÎÊÌâ¡£µ«ÔÚÎҵŤ×÷¹ý³ÌÖУ¬ÎÒÒ²ÔÚÆäËûÁìÓò·¢ÏÖÐí¶àÀàÐ͵ÄÐÔÄÜÎÊÌâ¡£ÔÚ2015Ä꣬ÎÒ²ÎÓëÁËÒ»¸ö½«Ò»ÌåÐÔÓ¦ÓÃÇ¨ÒÆÎª£¨Î¢£©·þÎñµÄÏîÄ¿£¬ÔÚÆäÖз¢ÏÖÁËÒ»¸ö¾Þ´óµÄ·åÖµÎÊÌâ¡£¸ÃÎÊÌâÀàËÆÓÚÎÒÃÇÒÑ·ÖÎö¹ýµÄijЩģʽ£¬ÀýÈçN+1´Î²éѯÎÊÌ⣬ÔÒòÔÚÓÚij¸öÓÃÀý»áÊý°Ù´Îµ÷ÓÃij¸öºó¶Ë·þÎñ¡£´ó¶àÊýÇé¿öÏ£¬ÕâÖÖÎÊÌâ¶¼ÊÇÓÉÔã¸âµÄ½Ó¿ÚÉè¼Æ¶øÔì³ÉµÄ£¬²¢ÇÒûÓп¼Âǵ½Ä³¸öÔ±¾ÔÚ±¾µØµ÷Óõķ½·¨ÔÚDockerÈÝÆ÷»òÔÆ¼ÆËã»·¾³Öб»Ö´ÐÐʱ»á·¢Éúʲô¡£ÍøÂçÎÊÌâ»áͻȻ¼ä³öÏÖ£¬°üÀ¨Í¨¹ýÍøÂç´«ÊäµÄÐÅÏ¢ÒÔ¼°ÐµÄÁ¬½Ó³Ø£¨Òâζ×ÅÄãÐèÒª¿¼ÂÇÏß³ÌÓëÌ×½Ó×Ö£©£¬ÕâЩÎÊÌâÊÇÄã±ØÐë´¦ÀíµÄ¡£
|