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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
Õï¶ÏJava´úÂëÖг£¼ûµÄÊý¾Ý¿âÐÔÄÜÈȵãÎÊÌâ
 
×÷ÕߣºAndreas Grabner and Harald Zeitlhofer À´Ô´£ºinfoQ ·¢²¼ÓÚ 2016-6-22
  2367  次浏览      33
 

µ±ÎÒÔÚ°ïÖúһЩ¿ª·¢Õß»ò¼Ü¹¹Ê¦·ÖÎö¼°ÓÅ»¯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ÈÝÆ÷»òÔÆ¼ÆËã»·¾³Öб»Ö´ÐÐʱ»á·¢Éúʲô¡£ÍøÂçÎÊÌâ»áͻȻ¼ä³öÏÖ£¬°üÀ¨Í¨¹ýÍøÂç´«ÊäµÄÐÅÏ¢ÒÔ¼°ÐµÄÁ¬½Ó³Ø£¨Òâζ×ÅÄãÐèÒª¿¼ÂÇÏß³ÌÓëÌ×½Ó×Ö£©£¬ÕâЩÎÊÌâÊÇÄã±ØÐë´¦ÀíµÄ¡£

   
2367 ´Îä¯ÀÀ       33
Ïà¹ØÎÄÕÂ

Java΢·þÎñÐÂÉú´úÖ®Nacos
ÉîÈëÀí½âJavaÖеÄÈÝÆ÷
JavaÈÝÆ÷Ïê½â
Java´úÂëÖÊÁ¿¼ì²é¹¤¾ß¼°Ê¹Óð¸Àý
Ïà¹ØÎĵµ

JavaÐÔÄÜÓÅ»¯
Spring¿ò¼Ü
SSM¿ò¼Ü¼òµ¥¼òÉÜ
´ÓÁ㿪ʼѧjava±à³Ì¾­µä
Ïà¹Ø¿Î³Ì

¸ßÐÔÄÜJava±à³ÌÓëϵͳÐÔÄÜÓÅ»¯
JavaEE¼Ü¹¹¡¢ Éè¼ÆÄ£Ê½¼°ÐÔÄܵ÷ÓÅ
Java±à³Ì»ù´¡µ½Ó¦Óÿª·¢
JAVAÐéÄâ»úÔ­ÀíÆÊÎö
×îл¼Æ»®
ǶÈëʽÈí¼þ¼Ü¹¹Éè¼Æ 12-11[±±¾©]
LLM´óÄ£ÐÍÓëÖÇÄÜÌ忪·¢ÊµÕ½ 12-18[±±¾©]
ǶÈëʽÈí¼þ²âÊÔ 12-25[±±¾©]
AIÔ­ÉúÓ¦ÓõÄ΢·þÎñ¼Ü¹¹ 1-9[±±¾©]
AI´óÄ£Ðͱàд¸ßÖÊÁ¿´úÂë 1-14[±±¾©]
ÐèÇó·ÖÎöÓë¹ÜÀí 1-22[±±¾©]

Java ÖеÄÖÐÎıàÂëÎÊÌâ
Java»ù´¡ÖªÊ¶µÄÈýÊ®¸ö¾­µäÎÊ´ð
Íæ×ª Java Web Ó¦Óÿª·¢
ʹÓÃSpring¸üºÃµØ´¦ÀíStruts
ÓÃEclipse¿ª·¢iPhone WebÓ¦ÓÃ
²å¼þϵͳ¿ò¼Ü·ÖÎö

Struts+Spring+Hibernate
»ùÓÚJ2EEµÄWeb 2.0Ó¦Óÿª·¢
J2EEÉè¼ÆÄ£Ê½ºÍÐÔÄܵ÷ÓÅ
Java EE 5ÆóÒµ¼¶¼Ü¹¹Éè¼Æ
Javaµ¥Ôª²âÊÔ·½·¨Óë¼¼Êõ
Java±à³Ì·½·¨Óë¼¼Êõ

Struts+Spring+Hibernate/EJB+ÐÔÄÜÓÅ»¯
»ªÏÄ»ù½ð ActiveMQ Ô­ÀíÓë¹ÜÀí
ijÃñº½¹«Ë¾ Java»ù´¡±à³Ìµ½Ó¦Óÿª·¢
ij·çµç¹«Ë¾ Java Ó¦Óÿª·¢Æ½Ì¨ÓëÇ¨ÒÆ
ÈÕÕÕ¸Û J2EEÓ¦Óÿª·¢¼¼Êõ¿ò¼ÜÓëʵ¼ù
ij¿ç¹ú¹«Ë¾ ¹¤×÷Á÷¹ÜÀíJBPM
¶«·½º½¿Õ¹«Ë¾ ¸ß¼¶J2EE¼°ÆäÇ°ÑØ¼¼Êõ