ÊÕ ²Ø Ͷ ¸å ·± Ìå RSS 
Õ¾³¤°É-ÖйúÕ¾³¤Ñ§Ï°Óë½»Á÷µÄÍøÕ¾
Ê× Ò³ ÔË Óª ѧ Ôº ½¨ Õ¾ ÂÛ Ì³
Web master8.net  
 ÍøÕ¾ÔËÓª  
  »¶Ó­ÔÚ±¾Õ¾·¢²¼ÐÅÏ¢£¬ÔÚÏßͶµÝ¸å¼þÇëµãÕâÀï¡£±à¼­QQ:4908220£¬»¶Ó­ÁªÏµ½»Á÷¡£
Òµ½ç¶¯Ì¬ ´´Òµ¹ÊÊÂ ÍÆ¹ãÑо¿ ²ß»®Ó¯Àû µç×ÓÉÌÎñ Æóҵƽ̨
  Õ¾³¤¹¤¾ß
SEO²éѯ Whois²éѯ Pr²éѯ ÓòÃû²éѯ IP²éѯ ÍøÒ³±à¼­Æ÷
 ½¨Õ¾·þÎñ  
  ÈçÓн¨Õ¾ÒâÏò£¬Ç뾡¿ìÁªÏµÎÒÃÇ£¬ÒԱ㰲ÅÅʱ¼ä... ½¨Õ¾·þÎñ QQ4908220 QQ:4908220
×÷Ʒչʾ ·þÎñ·¶Î§ ·þÎñÁ÷³Ì ·þÎñ±¨¼Û ÁªÏµ·½Ê½ ¸¶¿î·½Ê½
ÎÄÕÂÕýÎÄ  » ÄúµÄµ±Ç°Î»Ö㺠Ê×Ò³ >> ѧԺ >> Êý¾Ý¿â >> MySQL
ʹÓÃSQL Query AnalyzerºÍSQL Profiler
  À´Ô´£º»¥ÁªÍø | ʱ¼ä£º2006-04-14 | ä¯ÀÀ£º   Ïà¹ØÆÀÂÛ | ±¨¸æ´íÎó | ·¢²¼ÎÄÕÂ
¡¾×ֺţº´ó | ÖÐ | С¡¿ ¡¾±³¾°É« ÐÓÈÊ»Æ ÇïÒ¶ºÖ ëÙÖ¬ºì ½æÄ©ÂÌ ÌìÀ¶ Ñ©Çà »Ò ÒøºÓ°×(ĬÈÏÉ«) ¡¿
Ä×î¼Ñ»¯ T-SQL ³ÂÊöʽµÄ·½·¨ÊÇʹÓÃÌáʾ¡£Ìáʾ¿ÉÖ¸¶¨ Query Optimizer ÒªÖ´ÐÐÄÄЩ²Ù×÷ºÍÐèҪʹÓÃÄÄЩ¶ÔÏó¡£ÔÚ±¾½ÚÖУ¬½«Ñ§Ï°ºÜ¶à²»Í¬µÄ SQL Server Ìáʾ£¬ÒÔ¼°ËüÃǵÄʹÓ÷½·¨¡£
Áª½áÌáʾ
¡¡
Áª½áÌáʾ£¨join hints£©ÊÇÓÃÀ´Ö¸¶¨ Query Optimizer Ó¦¸ÃÖ´ÐÐÄÄЩÀàÐ͵ÄÁª½á²Ù×÷¡££¨Èç¹ûÔÚ²éѯÖÐûÓÐÖ¸¶¨ÀàÐÍ£¬query optimizer »á×Ô¼ºÑ¡Ò»¸ö¡££©ÔÚ SQL Server ÖУ¬Äú¿ÉÒÔÖ´Ðг²×´Ñ­»·Áª½á£¨nested loops joins£©¡¢ÔÓ´ÕÁª½á£¨hash joins£©¡¢ºÏ²¢Áª½á£¨merge joins£©ºÍÔ¶³ÌÁª½á£¨remote joins£©¡£Ê¹ÓÃÏÂÁÐÌáʾָ¶¨Áª½áµÄ·½·¨£º
•  LOOP Ö¸¶¨³²×´Ñ­»·Áª½á¡£ÔÚ³²×´Ñ­»·Áª½áÖУ¬½«»á¼ì²éÍⲿÊý¾Ý±íÖеÄÿһÁкÍÄÚ²¿Êý¾Ý±íÖеÄÿһÁУ¬¼ì²éÖµÊÇ·ñÏàµÈ¡£
¡¡
•  HASH Ö¸¶¨ÔÓ´ÕÁª½á¡£ÔÚÔÓ´ÕÁª½áÖУ¬Ò»¸öÊý¾Ý±í»á±»ÖØÐÂ×é֯Ϊһ¸öÔÓ´ÕÊý¾Ý±í¡£ÆäËüµÄÊý¾Ý±íÿ´Î±»É¨ÃèÒ»ÁУ¬ÔÓ´Õº¯Êý¾Í±»ÓÃÀ´ËÑѰÏàͬµÄÄÚÈÝ¡£
¡¡
•  MERGE Ö¸¶¨Ò»¸öÅÅÐòºÏ²¢Áª½á¡£ÔÚÅÅÐòºÏ²¢Áª½áÖУ¬Ã¿¸öÊý¾Ý±í¶¼±»ÅÅÐò£¬È»ºó°´ÕÕ½µÐòÿ´Î±È½ÏÒ»ÁС£
¡¡
•  REMOTE Ö¸¶¨Ô¶³ÌÁª½á¡£Ô¶³ÌÁª½áÊÇÖÁÉÙÓÐÒ»¸öÁª½áµÄÊý¾Ý±íÔÚÔ¶³Ì¡£
¡¡
¿´¿´Á¬½áÌáʾµÄ·¶Àý£¬Ê¹ÓÃÎÒÃÇÇ°ÃæµÄ·¶Àý£¨Çë²ÎÔı¾ÕÂÖÐµÄ £¼Áª½á²Ù×÷£¾ Ò»½Ú£©£¬ÎÒÃǰ´ÕÕÏÂÁгÂÊöʽʹÓÃÌáʾÀ´Ö¸¶¨Ò»¸öÔÓ´ÕÁª½á£º
SELECT OrderID, CustomerID, Employees.EmployeeID, FirstName,
     LastName, OrderDate
FROM Orders, Employees
WHERE Orders.EmployeeID = Employees.EmployeeID
OPTION (HASH JOIN)
________________________________________
˵Ã÷
Áª½áÌáʾÊDZ˴˶ÀÁ¢µÄ£­Ã¿´ÎÖ»ÄÜʹÓÃÆäÖеÄÒ»ÖÖ¡£
________________________________________
Èç¹ûÑ¡ÔñʹÓà SQL-92 Óï·¨×÷ΪÁ¬½á£¬ÄúÒ²ÄÜÓÃÌáʾÀ´Ö¸¶¨Á¬½áÀàÐÍ¡£Ê¹ÓÃSQL-92 Óï·¨£¬Äú¿ÉÒÔÖØÐ´Ö®Ç°µÄ²éѯ£¬ÈçÏ£º
SELECT OrderID, CustomerID, Employees.EmployeeID, Firstname,
     LastName, OrderDate
FROM Orders INNER HASH JOIN Employees
ON (Orders.EmployeeID = Employees.EmployeeID)
Áª½áÌáʾÊǽø½×µÄÖ÷Ì⣬ÎÒÃDz¢²»ÄÜÌṩʹÓõľ­Ñé·½·¨¡£Óкܶ಻ͬµÄÑ¡ÔñÌØÊâÁª½á²Ù×÷µÄÔ­Òò£¬ÀýÈçͬµÈÔËËã×ÓµÄÊýÄ¿¡¢ÔÚÁª½áÖÐÿ¸öÊý¾Ý±íµÄ´óС£¬ÒÔ¼°Áª½áµÄ¶àÉÙÊý¾Ý±í¡£ÓÐÒ»ÖÖ×î¼ÑµÄ;¾¶¿ÉÒÔÈ·¶¨¸ü¸ÄÁª½á²Ù×÷ÊÇ·ñ½«Ìṩ¶îÍâµÄЧÄÜ£¬¾ÍÊÇÔÚ Query Analyzer Öг¢ÊÔÿһÖÖÀàÐ͵ÄÁª½á£¬¿´¿´ÄÄÖÖ¿ÉÒÔÌṩ×îСµÄÏûºÄ¡£µ±È»£¬Query Optimize rͨ³£»áΪ°ïÖúÑ¡Ôñ×î¼ÑµÄÁª½á²Ù×÷¡£
²éѯÌáʾ
¡¡
²éѯÌáʾ£¨query hints£©ÓÃÀ´Ö¸¶¨ÈçºÎÖ´ÐÐÌØ¶¨µÄ²éѯ²Ù×÷¡£¿ÉÓõIJéѯ²Ù×÷·ÖΪÈýÀࣺ·Ö×飨group by£©¡¢ÁªºÏ£¨union£©ºÍ»ìÔÓ£¨miscellaneous£©¡£
 ·Ö×éÌáʾ ÏÂÃæµÄÌáʾָ¶¨ÁËÈçºÎÖ´ÐÐ GROUP BY »ò COMPUTE ²Ù×÷£º
•  HASH GROUP BY Ö¸¶¨Ê¹ÓÃÔÓ´Õº¯ÊýÀ´Ö´ÐÐ GROUP BY ²Ù×÷¡£
¡¡
•  ORDER GROUP BY Ö¸¶¨Ê¹ÓÃÅÅÐò²Ù×÷À´Ö´ÐÐ GROUP BY ²Ù×÷¡£
¡¡
ʹÓÃÇ°ÃæµÄ GROUP BY ·¶Àý£¨Çë²ÎÔı¾Õ嵀 £¼¼ìÊÓ×ܼƲÙ×÷£¾ Ò»½Ú£©£¬Äú¿ÉÒÔ°´ÕÕÏÂÃæÊ¹ÓÃÌáʾÀ´Ö¸¶¨ÈçºÎÖ´ÐÐ HASH GROUP BY ²Ù×÷£º
SELECT CustomerID, SUM(OrderDetails.UnitPrice)
     FROM Orders, OrderDetails
HASH GROUP BY CustomerID
OPTION(HASH GROUP)
________________________________________
˵Ã÷
GROUP BY Ìáʾ±Ë´Ë¶ÀÁ¢£­Ã¿´ÎÖ»ÄÜʹÓÃÆäÖÐÒ»ÖÖ¡£
________________________________________
 ÁªºÏÌáʾ ÏÂÃæµÄÌáʾÊÇÓÃÀ´Ö¸¶¨ÈçºÎÖ´ÐÐ UNION ²Ù×÷£º
•   MERGE UNION ʹÓúϲ¢²Ù×÷À´Ö´ÐÐ UNION¡£
¡¡
•   HASH UNION ʹÓÃÔÓ´Õº¯ÊýÀ´Ö´ÐÐ UNION¡£
¡¡
•   CONCAT UNION ʹÓô®Áª¹¦ÄÜÀ´Ö´ÐÐ UNION¡£
¡¡
ÕâÊÇÒ»¸öʹÓà CONCAT UNION ÌáʾµÄ·¶Àý£º
SELECT OrderID, CustomerID, EmployeeID, OrderDATE
     FROM orders
     WHERE CustomerID = 'TOMSP'
UNION
SELECT OrderID, CustomerID, EmployeeID, OrderDate
     FROM orders
     WHERE EmployeeID = '4'
OPTION (CONCAT UNION)
________________________________________
˵Ã÷
UNION ÌáʾҲÊDZ˴˶ÀÁ¢µÄ¡£
________________________________________
²»ÐÒµÄÊÇ£¬Ã»ÓÐÈκÎÒ»¶¨µÄ¹«Ê½¿ÉÓÃÒÔÈ·¶¨ÄÄÖÖ UNION ²Ù×÷ÔÚÄúµÄ»·¾³ÖÐÖ´ÐеÄ×îºÃ¡£ÔÙÒ»´Î˵Ã÷£¬×îºÃµÄ;¾¶¾ÍÊÇʹÓà Query Analyzer À´³¢ÊÔ²»Í¬µÄ UNION Ìáʾ£¬¿´¿´ÄÄÖÖ¿ÉÒÔÌṩ×îÉÙµÄÏûºÄ¡£Í¨³£ SQL Server Query Optimizer ¿ÉÒÔΪ UNION Ìáʾ¾ö¶¨×î¼Ñ²ßÂÔ¡£
 ÔÓÏîÌáʾ ÏÂÃæµÄÌáʾ¿ÉÒÔÓÃÀ´Ö´ÐжàÖֵIJéѯ²Ù×÷£º
•   FORCE ORDER Ç¿ÖÆ²éѯ°´ÕÕ²éѯÖÐÊý¾Ý±í³öÏֵĴÎÐòÖ´ÐС£ÔÚÔ¤Éè״̬Ï£¬SQL Server ¿ÉÒÔÖØÐÂÅÅÐòÊý¾Ý±í´æÈ¡¡£
¡¡
•   ROBUST PLAN Ç¿ÖÆ Query Optimizer Ô¤±¸È¡µÃ×îÓпÉÄܵÄ×î´óÊý¾ÝÁÐÊý¡£
¡¡
ÒÔÏÂÊÇʹÓÃÕâ¸öÌáʾµÄ·¶Àý£º
SELECT OrderID, CustomerID, Employees.EmployeeID, FirstName,
¡¡¡¡LastName, OrderDate
FROM Orders, Employees
WHERE Orders.EmployeeID = Employees.EmployeeID
OPTION (ROBUST PLAN)
×ÊÁϱíÌáʾ
¡¡
 Êý¾Ý±íÌáʾ £¨table hints£©ÓÃÀ´¿ØÖÆÊý¾Ý±í´æÈ¡£¬Á½ÖÖÊý¾Ý±íÌáʾÈçÏ£º
•  FAST n Ìæ´ú FASTFIRSTROWS£¬ÓÃÀ´±£³ÖÏòºóµÄ¼æÈÝÐÔ¡£×î¼Ñ»¯²éѯÒÔ»ñµÃ×îÇ°ÃænÁеÄÊý¾Ý¡£
¡¡
•  INDEX£½index_name Ç¿ÖÆ Query Optimizer ÔÚ¿ÉÄÜʱʹÓÃÖ¸¶¨µÄË÷Òý¡£ÔÚ±¾ÕÂÖеÄÇ°ÃæµÄ·¶Àý֮һʾ·¶ÁËÈçºÎʹÓà INDEX Ìáʾ£º
¡¡
• SELECT OrderID, CustomerID, EmployeeID, OrderDate
•    FROM orders WITH (INDEX = EmployeeID)
•    WHERE EmployeeID = 5
   OPTION (FAST 10)
WITHÊÇÑ¡ÔñÐԵġ£
ÕâÀïµÄ INDEX = EmployeeID Ìáʾ½«Ö¸¶¨Ê¹Óà EmployeeID Ë÷Òý¡£Í¸¹ýÖ¸¶¨FAST 10£¬SQL Server ½«×î¼Ñ»¯Ç°Ãæ 10 ÁеÄÈ¡µÃ£¨Èç¹û¿ÉÄܵϰ£©£¬È»ºó´«»ØÊ£ÏµÄÁС£
±¾ÕÂ×ܽá
¡¡
ÔÚ±¾ÕÂÖУ¬Äúѧµ½ÁËÈçºÎʹÓà Query Analyzer ÒÔÈ·¶¨¶Ô²éѯ×î¼ÑµÄÖ´Ðмƻ®ºÍÊý¾Ý´æÈ¡·½·¨¡£ÁíÍ⣬Äú»¹Ñ§µ½ÁËÈçºÎʹÓà Profiler À´¼ìÊÓϵͳÖÐÖ´ÐÐµÄ T-SQL ³ÂÊöʽ£¬ÒÔ¼°ÈçºÎÖ´ÐÐ×·×ÙÀ´È·¶¨ÊÇ·ñÆäÖÐһЩ T-SQL ³ÂÊöʽ¿ÉÄܵ¼ÖÂЧÄÜÎÊÌâ¡£»¹ÌÖÂÛÁËÈçºÎ¸ù¾ÝÄúµÄÊý¾Ý¿âºÍÊý¾ÝÒÔ×î¼Ñ»¯Ö´Ðмƻ®ºÍÊý¾Ý¿â´æÈ¡·½·¨¡£×îºó£¬Äúѧµ½ÁËÈçºÎʹÓÃÌáʾÀ´Ö¸¶¨Ò»¸öÌØ¶¨µÄÖ´Ðмƻ®»òÊý¾Ý´æÈ¡·½·¨¡£ÔÚ µÚ 36 Õ ÖУ¬ÄúѧϰµÄÖ÷Ì⽫·¢Õ¹ÎªÐ§ÄÜÎÊÌâÒÔ¼°ÈçºÎ½â¾öЧÄÜÎÊÌâ¡£

·ÖÒ³ [1] [2] [3]
lrth
  • ÉÏһƪ£ºÇ³Ì¸ÔÚÍøÒ³ÉÏÏÔʾÈÕÆÚµÄÁ½ÖÖ·½·¨
  • ÏÂһƪ£ºSkype³ǫ̈º£ÍâÅâ³¥·½°¸

  • ÎÒҪͶ¸å¡¡ ´òÓ¡±¾ÎÄ¡¡ ÍÆ¼ö±¾ÎÄ¡¡ ¼ÓÈëÊղء¡ ·µ»Ø¶¥²¿¡¡ ¹Ø±Õ´°¿Ú
    ËÑÄ£°å(www.somoban.com) Ô­´´ÍøÕ¾Ä£°å½»Òׯ½Ì¨
    °¢ÀïÂèÂèÔÙÏÆ·è¿ñ²É¹º·ç£¬ÍøÕ¾¹ã¸æÎ»ÑÏÖØ¸æ¼±£¬¼±ÕÙÌìÏÂÕ¾³¤
    »ùÓÚPHP+MySQLµÄÕûÕ¾¡¢Ä£¿é¡¢²å¼þ¿ª·¢µÈ»òÕß°´ÐèÇóʵÏÖÏàÓ¦¹¦ÄÜ;
»ùÓÚ¸÷PHPÖ÷Á÷½¨Õ¾ÏµÍ³CMS,BBS,BLOGµÈµÄÄ£°å¶¨ÖÆ,ÍêÈ«ÊÖд´úÂë;
ÕûÕ¾Êý¾ÝÇ¨ÒÆ»ò±¸·Ý»Ö¸´;ÍøÒ³´úÂëÓÅ»¯¡¢Öع¹;ÕûÕ¾³£¹æSEOÓÅ»¯;ÍøÕ¾¼¼ÊõÖ§³Ö;
µã»÷Á˽âÏêÇé...
    Õ¾³¤ÂÛ̳
    • ÑéÖ¤Âë: