Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

×î´ó³Ì¶È½µµÍ SQL Server ÖеÄ×èÈû

http://technet.microsoft.com/zh-cn/magazine/2008.04.blocking.aspx
SQL Server
×î´ó³Ì¶È½µµÍ SQL Server ÖеÄ×èÈû
Cherié Warren
 
¸ÅÀÀ:
·¢ÉúËøÉý¼¶µÄÔ­Òò
±ÜÃâ²»±ØÒªµÄ×èÈû
ÓÅ»¯²éѯ
¼àÊÓËø¶¨¶ÔÐÔÄܵÄÓ°Ïì
Ëø¶¨¶ÔÖ§³ÖÊý¾Ý¿âµÄ²¢·¢¶Áд»î¶¯¶øÑÔÊDZØÐèµÄ£¬µ«×èÈûÈ´»á¶ÔϵͳÐÔÄܲúÉú¸ºÃæÓ°Ï죬ÓÐʱÈÃÈËÄÑÒÔ¾õ²ì¡£ÔÚ±¾ÎÄÖУ¬ÎÒ½«½éÉÜÈçºÎÓÅ»¯ SQL Server 2005 »ò SQL Server 2008 Êý¾Ý¿âÒÔ×î´ó³Ì¶È½µµÍ
×èÈû£¬ÒÔ¼°ÈçºÎ¼àÊÓϵͳÒÔ¸üºÃµØÁ˽âËø¶¨ÈçºÎ¶ÔÐÔÄܲúÉúÓ°Ïì¡£
Ëø¶¨ºÍÉý¼¶
SQL Server® ¸ù¾ÝÊÜÓ°ÏìµÄ¼Ç¼ÊýºÍϵͳÖдæÔڵIJ¢·¢»î¶¯À´Ñ¡Ôñ×îºÏÊʵÄËøÁ£¶È¡£Ä¬ÈÏÇé¿öÏ£¬SQL Server »áÑ¡Ôñ¾¡¿ÉÄÜСµÄËøÁ£¶È£¬Èç¹ûËü¿ÉÒÔ¸ü¸ßЧµØÊ¹ÓÃϵͳÄڴ棬Ôò½öÑ¡Ôñ´ÖÁ£¶ÈËø¡£Ö»Óе±ËøÉý¼¶»á¶Ô×ÜÌåϵͳÐÔÄÜ´øÀ´ºÃ´¦Ê±£¬SQL Server ²Å»áÉý¼¶Ëø¡£Èçͼ 1 Ëùʾ£¬µ±Ìض¨É¨ÃèÖÐËøµÄÊýÁ¿³¬¹ý 5,000 »òÕßϵͳÓÃÓÚËøµÄÄÚ´æÊý³¬¹ý¿ÉÓÃÈÝÁ¿Ê±£¬½«»á¿ªÊ¼Éý¼¶£º
Figure 1 ´ÙÊ¹ËøÉý¼¶µÄÌõ¼þ (µ¥»÷¸ÃͼÏñ»ñµÃ½Ï´óÊÓͼ)
µ±ËøÉèÖÃΪ 0 ʱ£¬Êý¾Ý¿âÒýÇæÊ¹Óà 24 % µÄ·ÇµØÖ·´°¿Ú»¯À©Õ¹£¨·Ç AWE£©ÄÚ´æ
µ±ËøÉèÖÃ·Ç 0 ʱ£¬Êý¾Ý¿âÒýÇæÊ¹Óà 40 % µÄ·Ç AWE ÄÚ´æ
Èç¹ûȷʵ·¢ÉúÁËÉý¼¶£¬ÔòʼÖÕ»áÉý¼¶µ½±í¼¶Ëø¡£
±ÜÃâ²»±ØÒªµÄ×èÈû
×èÈûÔÚÈκÎËøÁ£¶ÈÇé¿ö϶¼¿ÉÄÜ·¢Éú£¬µ«×èÈûµÄÏÔÏ̶ֳÈÈ´ÔÚÉý¼¶ºóÔö¼Ó¡£ËøÉý¼¶¿ÉÄÜÊÇÒ»¸öÐźţ¬ËµÃ÷ÄúµÄÓ¦ÓóÌÐòÔÚÉè¼Æ¡¢±àÂë»òÅäÖ÷½ÃæµÄЧÂʲ»¸ß¡£
×ñÑ­Êý¾Ý¿âÉè¼Æ»ù±¾Ô­Àí£¨ÀýÈ磬ʹÓòÉÓÃÕ­¼üµÄ±ê×¼»¯¼Ü¹¹ÒÔ¼°±ÜÃâÔÚÊÂÎñÐÔϵͳÖÐÖ´ÐдóÁ¿Êý¾Ý²Ù×÷£©ÊDZÜÃâ·¢Éú×èÈûµÄÖØÒªÊֶΡ£Èç¹ûδ×ñÑ­ÕâЩԭÀí£¨ÀýÈ磬½«±¨¸æÏµÍ³´ÓÊÂÎñÐÔϵͳÖзÖÀë³öÀ´£¬»òÔڷǹ¤×÷ʱ¼ä´¦ÀíÊý¾ÝÀ¡ËÍ£©£¬ÔòϵͳÓÅ»¯½«»áºÜÀ§ÄÑ¡£
Ë÷Òý±àÖÆ¿ÉÄÜÊǾö¶¨·ÃÎÊÊý¾ÝËùÐèËøÊýÁ¿µÄ¹Ø¼üÒòËØ¡£Ë÷Òý¿ÉÒÔͨ¹ý¼õÉÙÊý¾Ý¿âÒýÇæ±ØÐëÖ´ÐеÄÄÚ²¿²éÕÒ´ÎÊýÀ´¼õÉÙ²éѯ·ÃÎʵļǼÊý¡£ÀýÈ磬Èç¹ûÄú´ÓÒ»¸ö±íµÄ·ÇË÷ÒýÁÐÑ¡ÔñÒ»ÐУ¬Ôò±íÖеÄÿһÐж¼ÐèÒª±»ÁÙÊ±Ëø¶¨£¬Ö±µ½È·¶¨ÁËËùÐèµÄ¼Ç¼Ϊֹ¡£µ«ÊÇ£¬Èç¹û¶Ô¸ÃÁбàÖÆÁËË÷Òý£¬Ôò½öÐèÒªµ¥¸öËø¡£
SQL Server 2005 ºÍ SQL Server 2008 ¶¼°üº¬¶¯Ì¬¹ÜÀíÊÓͼ£¨sys.dm_db_missing_index_group_stats¡¢ sys.dm_db_missing_index_groups¡¢sys.dm_db_missing_index_details£©£¬ÕâЩÊÓͼ¸ù¾ÝÀÛ¼ÆÊ¹ÓÃÇé¿öͳ¼ÆÀ´ÏÔʾÄÇЩ½«»áµÃÒæÓÚË÷ÒýµÄ±íºÍÁС£
ËéÆ¬Ò²¿ÉÄÜÊÇÒ»¸öÒþº¬µÄÐÔÄÜÎÊÌ⣬Èç¹ûË鯬¹ý¶à£¬Êý¾Ý¿âÒýÇæ¿ÉÄÜÐèÒª·ÃÎʱȲÉÓÃÆäËû


Ïà¹ØÎĵµ£º

º½¿Õ¹«Ë¾¹ÜÀíϵͳ(VC++ ÓëSQL 2005)

ϵͳ»·¾³£ºWindows 7
Èí¼þ»·¾³£ºVisual C++ 2008 SP1 +SQL Server 2005
±¾´ÎÄ¿µÄ£º±àдһ¸öº½¿Õ¹ÜÀíϵͳ
      ÕâÊÇÊý¾Ý¿â¿Î³ÌÉè¼ÆµÄ³É¹û£¬ËäÈ»³É¼¨²»¼Ñ£¬µ«ÊÇ×÷ΪÎÒÓÃVC++ ÒÔÀ´±àдµÄ×î´ó³ÌÐò»¹ÊÇ´«µ½ÍøÉÏ£¬ÒÔ¹©²Î¿¼¡£ÓÃVC++ ×öÊý¾Ý¿âÉè¼Æ²¢²»ÈÝÒ×£¬µ«Ò²²»ÊDz»¿ÉÄÜ¡£ÒÔÏÂÊÇÎҵijÌÐò½çÃæ£¬ºóÃæ ......

Ìá¸ßSQLÐÔÄÜ

ÓÐʱ£¬ ΪÁËÈÃÓ¦ÓóÌÐòÔËÐеøü¿ì£¬Ëù×öµÄÈ«²¿¹¤×÷¾ÍÊÇÔÚÕâÀï»òÄÇÀï×öһЩºÜСµ÷Õû¡£°¡£¬µ«¹Ø¼üÔÚÓÚÈ·¶¨ÈçºÎ½øÐе÷Õû£¡³ÙÔçÄú»áÓöµ½ÕâÖÖÇé¿ö£ºÓ¦ÓóÌÐòÖÐµÄ SQL ²éѯ²»Äܰ´ÕÕÄúÏëÒªµÄ·½Ê½½øÐÐÏìÓ¦¡£ËüҪô²»·µ»ØÊý¾Ý£¬ÒªÃ´ºÄ·ÑµÄʱ¼ä³¤µÃ³öÆæ¡£Èç¹ûËü½µµÍÁ˱¨¸æ»òÄúµÄÆóÒµÓ¦ÓóÌÐòµÄËÙ¶È£¬Óû§±ØÐëµÈ´ýµÄʱ¼ä¹ý³¤£¬ËûÃǾͻá ......

SQL²éѯË÷ÒýÓÅ»¯

½¨Á¢Ë÷Òý
£¨Ò»£©ÉîÈëdz³öÀí½âË÷Òý½á¹¹
ʵ¼ÊÉÏ£¬Äú¿ÉÒÔ°ÑË÷ÒýÀí½âΪһÖÖÌØÊâµÄĿ¼¡£Î¢ÈíµÄSQL SERVERÌṩÁËÁ½ÖÖË÷Òý£º¾Û¼¯Ë÷Òý£¨clustered index£¬Ò²³Æ¾ÛÀàË÷Òý¡¢´Ø¼¯Ë÷Òý£©ºÍ·Ç¾Û¼¯Ë÷Òý£¨nonclustered index£¬Ò²³Æ·Ç¾ÛÀàË÷Òý¡¢·Ç´Ø¼¯Ë÷Òý£©¡£ÏÂÃæ£¬ÎÒÃǾÙÀýÀ´ËµÃ÷һϾۼ¯Ë÷ÒýºÍ·Ç¾Û¼¯Ë÷ÒýµÄÇø±ð£º
Æäʵ£¬ÎÒÃǵĺºÓï ......

¸ßЧSQL²éѯ֮Ë÷Òý£¨VI)

ÎÒÃÇÏÈ¿´ NestedLoop ºÍ MergeJoin µÄËã·¨£¨ÒÔÏÂΪÒýÓ㬼û RicCC µÄ¡¶ ͨÍùÐÔÄÜÓÅ»¯µÄÌìÌà - µØÓü JOIN ·½·¨ËµÃ÷ ¡· ):
==================================
NestedLoop:
   foreach rowA in tableA where tableA.col2=?
    {
    search rowsB from tableB where tab ......

SQL Server 2005 ÖеķÖÇø±íºÍË÷Òý(1)


¹ØÓÚ±¾Îı¾ÎÄËùÃè»æµÄ¹¦Äܺͼƻ®ÊÇÏÂÒ»°æ±¾ SQL Server µÄ¿ª·¢·½Ïò¡£ËüÃDz¢·Ç±¾²úÆ·µÄ˵Ã÷Ê飬ÈçÓиü¸Ä£¬Ë¡²»ÁíÐÐ֪ͨ¡£¶ÔÓÚ×îÖÕ²úÆ·ÊÇ·ñ¾ßÓÐÕâЩ¹¦Äܲ»×öÈκÎÃ÷ʾ»ò°µÊ¾µÄ±£Ö¤¡£¶ÔÓÚijЩ¹¦ÄÜ£¬±¾ÎļÙÉè¶ÁÕßÊìϤ SQL Server 2000 ¹¦ÄܺͷþÎñ¡£Óйر³¾°ÐÅÏ¢£¬Çë·ÃÎÊSQL Server ÍøÕ¾»ò SQL Server 2000 ×ÊÔ´¹¤¾ß°ü¡£Õâ²¢²»Ê ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ