Ò׽ؽØͼÈí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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£©£¬ÕâЩÊÓͼ¸ù¾ÝÀÛ¼ÆʹÓÃÇé¿öͳ¼ÆÀ´ÏÔʾÄÇЩ½«»áµÃÒæÓÚË÷ÒýµÄ±íºÍÁС£
ËéƬҲ¿ÉÄÜÊÇÒ»¸öÒþº¬µÄÐÔÄÜÎÊÌ⣬Èç¹ûËéƬ¹ý¶à£¬Êý¾Ý¿âÒýÇæ¿ÉÄÜÐèÒª·ÃÎʱȲÉÓÃÆäËû


Ïà¹ØÎĵµ£º

SQL Enlight 1.5 Æƽ⠵ڶþ°æ

SQL Enlight 1.5 Æƽ⠵ڶþ°æ ÊÕ²Ø
  ÆƽâÉùÃ÷£ºÎÒµÄÆƽâ½öÓÃÓÚÑо¿£¬ÇëÎðÓÃÓÚÉÌÒµÓÃ;£¬ÐèҪʹÓÃÇ빺ÂòÕý°æÈí¼þ¡£
¿É¶ñµÄUbitSoft£¬ÎÒµÄÆƽâ³öÀ´»¹Ã»¼¸Ì죬ËûµÄ³ÌÐò¾Í¸Ä±äÁËÑéÖ¤Âß¼­£¬ËäÈ»ÎÒ¾õµÃSQL EnlightµÄ¹¦Äܲ»ÊǷdz£Ç¿´ó£¬µ«ÊÇËûµÄ·ÀÆƽ⹦Äܵ¹ÊÇÏÂÁ˲»ÉÙ¹¦·ò£¬³ýÁ˺ËÐÄ´úÂëÓÃvc++.net±àдµÄnative cod ......

MS SQL SERVER ²éѯÓÅ»¯

²éѯËÙ¶ÈÂýµÄÔ­ÒòºÜ¶à£¬³£¼ûÈçϼ¸ÖÖ 
        1¡¢Ã»ÓÐË÷Òý»òÕßûÓÐÓõ½Ë÷Òý(ÕâÊDzéѯÂý×î³£¼ûµÄÎÊÌ⣬ÊdzÌÐòÉè¼ÆµÄȱÏÝ) 
        2¡¢I/OÍÌÍÂÁ¿Ð¡£¬ÐγÉÁËÆ¿¾±Ð§Ó¦¡£ 
        3¡¢Ã»Óд´ ......

SQL Server ֪ʶ»ýÀÛ

varcharºÍnvarcharÈçºÎÑ¡Ôñ£º
varcharÔÚSQL ServerÖÐÊDzÉÓõ¥×Ö½ÚÀ´´æ´¢Êý¾ÝµÄ£¬nvarcharÊÇʹÓÃUnicoÀ´´æ´¢Êý¾ÝµÄ¡£ÖÐÎÄ×Ö·û´æ´¢µ½SQL ServerÖлᱣ´æΪÁ½¸ö×Ö½Ú£¨Ò»°ã²ÉÓÃUnico±àÂ룩£¬Ó¢ÎÄ×Ö·û±£´æµ½Êý¾Ý¿âÖУ¬Èç¹û×ֶεÄÀàÐÍΪvarchar£¬ÔòÖ»»áÕ¼ÓÃÒ»¸ö×Ö½Ú£¬¶øÈç¹û×ֶεÄÀàÐÍΪnvarchar£¬Ôò»áÕ¼ÓÃÁ½¸ö×Ö½Ú¡£ËäȻʹÓÃnva ......

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

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

¸ßЧSQL²éѯ֮Ë÷Òý¸²¸Ç(index coverage)

½ñÌì×öSQL ÓÅ»¯£¬²éÕÒÖ´Ðмƻ®Ê±£¬Ö´Ðмƻ®£¬·¢ÏÖ´ËÖ´Ðмƻ®ÓëÒÔÍùµÄ¼Æ»®ÓÐËùÇø±ð£»ÕÒ¼»¥ÁªÍø£¬ÖÕÓÚÕÒһƪÓйØÑо¿±È½ÏÉîÈëµÄÎÄÕ£»
Ô­Ö´Ðмƻ®Ê¹ÓõÄÊÇË÷ÒýɨÃ裬ͻȻһÏ»áʹÓÃË÷Òý¸²¸Ç¼¼Êõ£¬Ð§ÂÊ´óÔö£»
SELECT * µÄÕæÏࣺË÷Òý¸²¸Ç(index coverage)
SELECT *µÄЧÂʺÜÔã¸âÂ𣿵±È»£¬ËùÓÐÈ˶¼ÖªµÀÕâÒ»µã£¬µ«ÊÇΪʲôÄØ£ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ