Õï¶ÏÊý¾Ý¿âÐÔÄÜÎÊÌâ¾ÍÏóÒ½ÉúÕï¶Ï²¡È˲¡ÇéÒ»Ñù£¬¼ÈÒª½áºÏ×Ô¼º»ýÀ۵ľÑ飬ÓÖÒªÒÀ¿¿¿ÆÑ§µÄÕï¶Ï±¨¸æ£¬²ÅÄÜ׼ȷµØÅжÏÎÊÌâµÄ¸ùÔ´ÔÚÄÄÀï¡£Ç°ÃæÈýƪÎÄÕÂÎÒÃǽéÉÜÁËÐí¶àÓÅ»¯Êý¾Ý¿âÐÔÄܵķ½·¨£¬¹ÌÈ»ÕÆÎÕÓÅ»¯¼¼ÇɺÜÖØÒª£¬µ«Õï¶ÏÊý¾Ý¿âÐÔÄÜÎÊÌâÊÇÓÅ»¯µÄǰÌᣬ±¾ÎľͽéÉÜÒ»ÏÂÈçºÎÕï¶ÏÊý¾Ý¿âÐÔÄÜÎÊÌâ¡£
¡¡¡¡µÚ°Ë²½£ºÊ¹ÓÃSQLʼþ̽²éÆ÷ºÍÐÔÄÜ¼à¿Ø¹¤¾ßÓÐЧµØÕï¶ÏÐÔÄÜÎÊÌâ
¡¡¡¡ÔÚSQL ServerÓ¦ÓÃÁìÓòSQLʼþ̽²éÆ÷¿ÉÄÜÊÇ×îÖøÃûµÄÐÔÄܹÊÕÏÅųý¹¤¾ß£¬´ó¶àÊýÇé¿öÏ£¬µ±µÃµ½Ò»¸öÐÔÄÜÎÊÌⱨ¸æºó£¬Ò»°ãÊ×ÏÈÆô¶¯Ëü½øÐÐÕï¶Ï¡£
¡¡¡¡Äã¿ÉÄÜÒѾ֪µÀ£¬SQLʼþ̽²éÆ÷ÊÇÒ»¸ö¸ú×ÙºÍ¼à¿ØSQL ServerʵÀýµÄͼÐλ¯¹¤¾ß£¬Ö÷ÒªÓÃÓÚ·ÖÎöºÍºâÁ¿ÔÚÊý¾Ý¿â·þÎñÆ÷ÉÏÖ´ÐеÄTSQLÐÔÄÜ£¬Äã¿ÉÒÔ²¶×½·þÎñÆ÷ʵÀýÉϵÄÿ¸öʼþ£¬½«Æä±£´æµ½Îļþ»ò±íÖй©ÒÔºó·ÖÎö¡£ÀýÈ磬Èç¹ûÉú²úÊý¾Ý¿âËٶȺÜÂý£¬Äã¿ÉÒÔʹÓÃSQLʼþ̽²éÆ÷²é¿´ÄÄЩ´æ´¢¹ý³ÌÖ´ÐÐʱºÄʱ¹ý¶à¡£
¡¡¡¡SQLʼþ̽²éÆ÷µÄ»ù±¾Ó÷¨
¡¡¡¡Äã¿ÉÄÜÒѾ֪µÀÈçºÎʹÓÃËü£¬ÄÇôÄã¿ÉÒÔÌø¹ýÕâһС½Ú£¬µ«ÎÒ»¹ÊÇÒªÖØ¸´Ò»Ï£¬Ò²ÐíÓÐÐí¶àÐÂÊÖÔĶÁ±¾ÎÄ¡£
¡¡¡¡1)Æô¶¯SQLʼþ̽²éÆ÷£¬Á¬½Óµ½Ä¿±êÊý¾Ý¿âʵÀý£¬´´½¨Ò»¸öиú×Ù£¬Ö¸¶¨Ò»¸ö¸ú×ÙÄ£°å(¸ú×ÙÄ£°åÔ¤ÖÃÁËһЩʼþºÍÓÃÓÚ¸ú×ÙµÄÁÐ)£¬Èçͼ1Ëùʾ;
¡¡¡¡Í¼ 1 Ñ¡Ôñ¸ú×ÙÄ£°å
¡¡¡¡2)×÷Ϊ¿ÉÑ¡µÄÒ»²½£¬Ä㻹¿ÉÒÔÑ¡ÔñÌØ¶¨Ê¼þºÍÁÐ
¡¡¡¡Í¼ 2 Ñ¡Ôñ¸ú×Ù¹ý³ÌÒª²¶×½µÄʼþ
¡¡¡¡3)ÁíÍâÄ㻹¿ÉÒÔµã»÷¡°×éÖ¯ÁС±°´Å¥£¬ÔÚµ¯³öµÄ´°¿ÚÖÐÖ¸¶¨ÁеÄÏÔʾ˳Ðò£¬µã»÷¡°ÁйýÂËÆ÷¡±°´Å¥£¬ÔÚµ¯³öµÄ´°¿ÚÖÐÉèÖùýÂËÆ÷£¬ÀýÈ磬ͨ¹ýÉèÖÃÊý¾Ý¿âµÄÃû³Æ(ÔÚlikeÎı¾¿òÖÐ)£¬Ö»¸ú×ÙÌØ¶¨µÄÊý¾Ý¿â£¬Èç¹û²»ÉèÖùýÂËÆ÷£¬SQLʼþ̽²éÆ÷»á²¶×½ËùÓеÄʼþ£¬¸ú×ÙµÄÐÅÏ¢»á·Ç³£¶à£¬ÒªÕÒ³öÓÐÓõĹؼüÐÅÏ¢¾ÍÈç´óº£ÀÌÕë¡£
¡¡¡¡Í¼ 3 ¹ýÂËÆ÷ÉèÖÃ
¡¡¡¡4)ÔËÐÐʼþ̽²éÆ÷£¬µÈ´ý²¶×½Ê¼þ
¡¡¡¡Í¼ 4 ÔËÐÐʼþ̽²éÆ÷
¡¡¡¡5)¸ú×ÙÁË×ã¹»µÄÐÅÏ¢ºó£¬Í£µôʼþ̽²éÆ÷£¬½«¸ú×ÙÐÅÏ¢±£´æµ½Ò»¸öÎļþÖУ¬»òÕß±£´æµ½Ò»¸öÊý¾Ý±íÖУ¬Èç¹û±£´æµ½±íÖУ¬ÐèÒªÖ¸¶¨±íÃû£¬SQL Server»á×Ô¶¯´´½¨±íÖеÄ×ֶΡ£
¡¡¡¡Í¼ 5 ½«Ì½²éÆ÷¸ú×ÙÊý¾Ý±£´æµ½±íÖÐ
¡¡¡¡6)Ö´ÐÐÏÂÃæµÄSQL²éѯÓï¾äÕÒ³öÖ´Ðдú¼Û½Ï¸ßµÄTSQL
SELECT TextData,Duration,¡, FROM Table_Name ORDER BY
¡¡¡¡Duration DESC

¡¡¡¡Í¼ 6 ²éÕҳɱ¾×î¸ßµÄTSQL/´æ´¢¹ý³Ì
ÓÐЧÀûÓÃSQLʼþ̽²éÆ÷ÅųýÓëÐÔÄÜÏà¹ØµÄÎÊÌâ
¡¡¡¡SQLʼþ̽²éÆ÷³ýÁË¿ÉÒÔÓÃÓÚÕÒ³öÖ´Ðгɱ¾×î¸ßµÄÄÇЩTSQL»ò´æ´¢¹ý³ÌÍ⣬»¹¿ÉÒÔÀûÓÃËüÐí¶àÇ¿´óµÄ¹¦ÄÜÕï¶ÏºÍ½â¾öÆäËü²»Í¬ÀàÐ͵ÄÎÊÌâ¡£µ±ÄãÊÕµ½Ò»¸öÐÔÄÜÎÊÌⱨ¸æºó£¬»òÕßÏëÌáǰÕï¶ÏDZÔÚµÄÐÔÄÜÎÊÌâʱ¶¼¿ÉÒÔʹÓÃSQLʼþ̽²éÆ÷¡£ÏÂÃæÊÇһЩSQLʼþ̽²éÆ÷ʹÓü¼ÇÉ£¬»òÐí¶ÔÄãÓаïÖú¡£
¡¡¡¡1)ʹÓÃÏÖÓеÄÄ£°å£¬µ«ÐèҪʱӦ´´½¨Äã×Ô¼ºµÄÄ£°å
¡¡¡¡´ó¶àÊýʱºòÏÖÓеÄÄ£°åÄܹ»Âú×ãÄãµÄÐèÇ󣬵«µ±Õï¶ÏÒ»¸öÌØÊâÀàÐ͵ÄÊý¾Ý¿âÐÔÄÜÎÊÌâʱ(ÈçÊý¾Ý¿â·¢ÉúËÀËø)£¬Äã¿ÉÄÜÐèÒª´´½¨×Ô¼ºµÄÄ£°å£¬ÔÚÕâÖÖÇé¿öÏ£¬Äã¿ÉÒÔµã»÷¡°Îļþ¡±*¡°Ä£°å¡±*¡°Ð½¨Ä£°å¡±´´½¨Ò»¸öÐÂÄ£°å£¬ÐèÒªÖ¸¶¨Ä£°åÃû¡¢Ê¼þºÍÁС£µ±È»Ò²¿ÉÒÔ´ÓÏÖÓеÄÄ£°åÐ޸ĶøÀ´¡£
¡¡¡¡Í¼ 7 ´´½¨Ò»¸öÐÂÄ£°å
¡¡¡¡Í¼ 8 ΪÐÂÄ£°åÖ¸¶¨Ê¼þºÍÁÐ
¡¡¡¡2)²¶×½±íɨÃè(TableScan)ºÍËÀËø(DeadLock)ʼþ
¡¡¡¡Ã»´í£¬Äã¿ÉÒÔʹÓÃSQLʼþ̽²éÆ÷¼àÌýÕâÁ½¸öÓÐȤµÄʼþ¡£
¡¡¡¡ÏȼÙÉèÒ»ÖÖÇé¿ö£¬¼ÙÉèÄãÒѾÔÚÄãµÄ²âÊÔ¿âÉÏ´´½¨Á˺ÏÊʵÄË÷Òý£¬¾¹ý²âÊÔºó£¬ÏÖÔÚÄãÒѾ½«Ë÷ÒýÓ¦Óõ½Éú²ú·þÎñÆ÷ÉÏÁË£¬µ«ÓÉÓÚijЩ²»Ã÷ÔÒò£¬Éú²úÊý¾Ý¿âµÄÐÔÄÜһֱû´ïµ½Ô¤ÆÚµÄÄÇÑùºÃ£¬ÄãÍÆ²âÖ´Ðвéѯʱ·¢ÉúÁ˱íɨÃ裬ÄãÏ£ÍûÓÐÒ»ÖÖ·½·¨Äܹ»¼ì²â³öÊÇ·ñÕæµÄ·¢ÉúÁ˱íɨÃè¡£
¡¡¡¡ÔÙ¼ÙÉèÁíÒ»ÖÖÇé¿ö£¬¼ÙÉèÄãÒѾÉèÖúÃÁ˽«´íÎóÓʼþ·¢Ë͵½Ò»¸öÖ¸¶¨µÄÓʼþµØÖ·£¬ÕâÑù¿ª·¢ÍŶӿÉÒÔµÚһʱ¼ä»ñµÃ֪ͨ£¬²¢ÓÐ×ã¹»µÄÐÅÏ¢½øÐÐÎÊÌâÕï¶Ï¡£Ä³Ò»Ì죬ÄãͻȻÊÕµ½Ò»·âÓʼþ˵Êý¾Ý¿â·¢ÉúÁËËÀËø£¬²¢ÔÚÓʼþÖаüº¬ÁËÊý¾Ý¿â¼¶±ðµÄ´íÎó´úÂ룬ÄãÐèÒªÕÒ³öÊÇÄĸöTSQL´´ÔìÁËËÀËø¡£
¡¡¡¡ÕâʱÄã¿ÉÒÔ´ò¿ªSQLʼþ̽²éÆ÷£¬ÐÞ¸ÄÒ»¸öÏÖÓÐÄ£°å£¬Ê¹Æä¿ÉÒÔ²¶×½±íɨÃèºÍËÀËøÊ¼þ£¬ÐÞ¸ÄºÃºó£¬Æô¶¯Ê¼þ̽²éÆ÷£¬ÔËÐÐÄãµÄÓ¦ÓóÌÐò£¬µ±Ôٴη¢Éú±íɨÃèºÍËÀËøÊ¼þʱ£¬Ê¼þ̽²éÆ÷¾Í¿ÉÒÔ²¶×½µ½£¬ÀûÓøú×ÙÐÅÏ¢¾Í¿ÉÒÔÕÒ³öÖ´Ðдú¼Û×î¸ßµÄTSQL¡£
¡¡¡¡×¢Ò⣺´ÓSQL ServerÈÕÖ¾ÎļþÖпÉÄÜÒ²¿ÉÒÔÕÒµ½ËÀËøÊ¼þ¼Ç¼£¬ÔÚijЩʱºò£¬Äã¿ÉÄÜÐèÒª½áºÏSQL ServerÈÕÖ¾ºÍ¸ú×ÙÐÅÏ¢²ÅÄÜÕÒ³öÒýÆðÊý¾Ý¿âËÀËøµÄÊý¾Ý¿â¶ÔÏóºÍTSQL¡£
¡¡¡¡Í¼ 9 ¼ì²â±íɨÃè
¡¡¡¡Í¼ 10 ¼ì²âËÀËø
¡¡¡¡3)´´½¨ÖطŸú×Ù
¡¡¡¡Ä³Ð©Ê±ºò£¬ÎªÁ˽â¾öÉú²úÊý¾Ý¿âµÄÐÔÄÜÎÊÌ⣬ÄãÐèÒªÔÚ²âÊÔ·þÎñÆ÷ÉÏÄ£ÄâÒ»¸öÉú²ú»·¾³£¬ÕâÑù¿ÉÒÔÖØÑÝÐÔÄÜÎÊÌ⡣ʹÓÃSQLʼþ̽²éÆ÷µÄTSQL_ReplayÄ£°å²¶×½Éú²ú¿âÉϵÄʼþ£¬²¢½«¸ú×ÙÐÅÏ¢±£´æÎªÒ»¸ö.traceÎļþ£¬È»ºóÔÚ²âÊÔ·þÎñÆ÷Éϲ¥·Å¸ú×ÙÎļþ¾Í¿ÉÒÔÖØÏÖÐÔÄÜÎÊÌâÊÇÈçºÎ³öÏÖµÄÁË¡£
¡¡¡¡Í¼ 11 ´´½¨ÖطŸú×Ù
¡¡¡¡4)´´½¨ÓÅ»¯¸ú×Ù
¡¡¡¡Êý¾Ý¿âµ÷ÓŹËÎÊÊÇÒ»¸öΰ´óµÄ¹¤¾ß£¬Ëü¿ÉÒÔ¸øÄãÌṩºÜºÃµÄµ÷ÓŽ¨Ò飬µ«ÒªÕæÕý´ÓËüÄÇ»ñµÃÓÐÓõĽ¨Ò飬ÄãÐèҪģÄâ³öÓëÉú²ú¿âÒ»ÑùµÄ¸ºÔØ£¬Ò²¾ÍÊÇ˵£¬ÄãÐèÒªÔÚ²âÊÔ·þÎñÆ÷ÉÏÖ´ÐÐÏàͬµÄTSQL£¬´ò¿ªÏàͬÊýÁ¿µÄ²¢·¢Á¬½Ó£¬È»ºóÔËÐе÷ÓŹËÎÊ¡£SQLʼþ̽²éÆ÷µÄTuningÄ£°å¿ÉÒÔ²¶×½µ½ÕâÀàʼþºÍÁУ¬Ê¹ÓÃTuningÄ£°åÔËÐÐʼþ̽²éÆ÷£¬²¶×½¸ú×ÙÐÅÏ¢²¢±£´æ£¬Í¨¹ýµ÷ÓŹËÎÊʹÓøú×ÙÎļþÔÚ²âÊÔ·þÎñÆ÷ÉÏ´´½¨ÏàͬµÄ¸ºÔØ¡£
¡¡¡¡Í¼ 12 ´´½¨Tuningʼþ̽²éÆ÷¸ú×Ù
¡¡¡¡5)²¶×½ShowPlanÔÚʼþ̽²éÆ÷ÖаüÀ¨SQLÖ´Ðмƻ®
¡¡¡¡ÓÐʱÏàͬµÄ²éѯÔÚ²âÊÔ·þÎñÆ÷ºÍÉú²ú·þÎñÆ÷ÉϵÄÐÔÄÜÍêÈ«²»Ò»Ñù£¬¼ÙÉèÄãÓöµ½ÕâÖÖÎÊÌ⣬ÄãÓ¦¸Ã×Ðϸ²é¿´Ò»ÏÂÉú²úÊý¾Ý¿âÉÏTSQLµÄÖ´Ðмƻ®¡£µ«ÎÊÌâÊÇÏÖÔÚ²»ÄÜÔÚÉú²ú¿âÉÏÖ´ÐÐÕâ¸öTSQL£¬ÒòΪËüÒѾÓÐÑÏÖØµÄÐÔÄÜÎÊÌâ¡£ÕâʱSQLʼþ̽²éÆ÷¿ÉÒÔÅÉÉÏÓ󡣬ÔÚ¸ú×ÙÊôÐÔÖÐÑ¡ÖÐShowPlan»òShowPlan XML£¬ÕâÑù¿ÉÒÔ²¶×½µ½SQLÖ´Ðмƻ®ºÍTSQLÎı¾£¬È»ºóÔÚ²âÊÔ·þÎñÆ÷ÉÏÖ´ÐÐÏàͬµÄTSQL£¬²¢±È½ÏÁ½ÕßµÄÖ´Ðмƻ®¡£
¡¡¡¡Í¼ 13 Ö¸¶¨²¶×½Ö´Ðмƻ®
¡¡¡¡Í¼ 14 ÔÚʼþ̽²éÆ÷¸ú×ÙÖеÄÖ´Ðмƻ®
ʹÓÃÐÔÄܼàÊÓ¹¤¾ß(PerfMon)Õï¶ÏÐÔÄÜÎÊÌâ
¡¡¡¡µ±ÄãµÄÊý¾Ý¿âÓöµ½ÐÔÄÜÎÊÌâʱ£¬´ó¶àÊýʱºòʹÓÃSQLʼþ̽²éÆ÷¾ÍÄܹ»Õï¶ÏºÍÕÒ³öÒýÆðÐÔÄÜÎÊÌâµÄ±³ºóÔÒòÁË£¬µ«ÓÐʱSQLʼþ̽²éÆ÷²¢²»ÊÇÍòÄܵġ£
¡¡¡¡ÀýÈ磬ÔÚÉú²ú¿âÉÏʹÓÃSQLʼþ̽²éÆ÷·ÖÎö²éѯִÐÐʱ¼äʱ£¬¶ÔÓ¦µÄTSQLÖ´ÐкÜÂý(¼ÙÉèÐèÒª10Ãë)£¬µ«Í¬ÑùµÄTSQLÔÚ²âÊÔ·þÎñÆ÷ÉÏÖ´ÐÐʱ¼äÈ´Ö»Òª200ºÁÃ룬ͨ¹ý·ÖÎöÖ´Ðмƻ®ºÍÊý¾ÝÁУ¬·¢ÏÖËüÃǶ¼Ã»ÓÐÌ«´óµÄ²îÒ죬Òò´ËÔÚÉú²ú¿âÉϿ϶¨ÓÐÆäËüÎÊÌ⣬ÄǸÃÈçºÎ¾¾³öÕâЩÎÊÌâÄØ
¡¡¡¡´ËʱÐÔÄܼàÊÓ¹¤¾ß(ÖøÃûµÄPerfMon)¿ÉÒÔ°ïÄãÒ»°Ñ£¬Ëü¿ÉÒÔ¶¨ÆÚÊÕ¼¯Ó²¼þºÍÈí¼þÏà¹ØµÄͳ¼ÆÊý¾Ý£¬»¹ÓÐËüÊÇÄÚÖÃÓÚWindows²Ù×÷ϵͳµÄÒ»¸öÃâ·ÑµÄ¹¤¾ß¡£
¡¡¡¡µ±ÄãÏòSQL ServerÊý¾Ý¿â·¢ËÍÒ»ÌõTSQLÓï¾ä£¬»á²úÉúÐí¶àÏà¹ØµÄÖ´ÐвÎÓëÕߣ¬°üÀ¨TSQLÖ´ÐÐÒýÇæ£¬·þÎñÆ÷»º´æ£¬SQLÓÅ»¯Æ÷£¬Êä³ö¶ÓÁУ¬CPU£¬´ÅÅÌI/OµÈ£¬Ö»ÒªÕâЩ²ÎÓëÕßÈκÎÒ»»·Ö´ÐнÚ×àûÓиúÉÏ£¬×îÖյIJéѯִÐÐʱ¼ä¾Í»á±ä³¤£¬Ê¹ÓÃÐÔÄܼàÊÓ¹¤¾ß¿ÉÒÔ¶ÔÕâЩ²ÎÓëÕß½øÐй۲죬ÒÔÕÒ³ö¸ù±¾ÔÒò¡£
¡¡¡¡Ê¹ÓÃÐÔÄܼàÊÓ¹¤¾ß¿ÉÒÔ´´½¨¶à¸ö²»Í¬µÄÐÔÄܼÆÊýÆ÷£¬Í¨¹ýͼÐνçÃæ·ÖÎö¼ÆÊýÆ÷ÈÕÖ¾£¬´ËÍ⻹¿ÉÒÔ½«ÐÔÄܼÆÊýÆ÷ÈÕÖ¾ºÍSQLʼþ̽²éÆ÷¸ú×ÙÐÅÏ¢½áºÏÆðÀ´·ÖÎö¡£
¡¡¡¡ÐÔÄܼàÊÓÆ÷»ù±¾Ó÷¨½éÉÜ
¡¡¡¡WindowsÄÚÖÃÁËÐí¶àÐÔÄܼà