SQLÖ÷¼üС½á
SQL ÖеÄÖ÷¼üµÄ×÷ÓÃ:
Äܹ»Î¨Ò»±íʾÊý¾Ý±íÖеÄÿ¸ö¼Ç¼µÄ¡¾×ֶΡ¿»òÕß¡¾×ֶΡ¿µÄ×éºÏ¾Í³ÆÎªÖ÷Âë(Ö÷¼ü)¡£
×÷ÓÃ
1¡¢Ö÷¼üΨһµÄʶ±ðÿһ¼Ç¼;
2¡¢Ö÷¼ü½«¼Ç¼ºÍ´æ·ÅÔÚÆäËû±íÖеÄÊý¾Ý½øÐйØÁª¡£ÔÚÕâÒ»µãÉÏ£¬Ö÷¼üÊDz»Í¬±íÖи÷¼Ç¼֮¼äµÄ¼òµ¥Ö¸Õë¡£
ÈôÓÐÁ½¸ö±íA£¬B£¬keyÊÇAµÄÖ÷¼ü£¬¶øBÖÐÒ²ÓÐkey×ֶΣ¬Ôòkey¾ÍÊDZíBµÄÍâ¼ü¡£
A£¬B¿ÉÒÔͨ¹ýkey½øÐйØÁª¡£
³ýÁËÒÔÉÏ˵µÄ, ÎÒ½ñÌì²âÊÔÖÐ, ·¢ÏÖÓкܶàÊý¾Ýʱ, »¹¿ÉÒÔ¼Ó¿ì²éѯËÙ¶È! ¶øÇÒËٶȺÜÃ÷ÏÔµÄ!
ÓÐЩ֪ʶ, Ö»ÊÇѧÁË, ¾ßÌåÊÇ·ñÊÇÕâÑù, Ö»ÊǸÐÐÔÈÏʶ, ¾¹ýʵ¼ù·¢ÏÖ, ¾ÍÓÐÁËÀíÐԵļÇÒä, ¶ÔÓÚÔõôÑù¼Ó¿ìsqlµÄ²éѯËÙ¶È, ¸ÄÌìÔÙÑо¿!
Ïà¹ØÎĵµ£º
1£® ÅжÏa±íÖÐÓжøb±íÖÐûÓеļǼ
select a.* from tbl1 a
left join tbl2 b
on a.key = b.key
where b.key is null
ËäȻʹÓÃinÒ²¿ÉÒÔʵÏÖ£¬µ«ÊÇÕâÖÖ·½·¨µÄЧÂʸü¸ßһЩ
2£® н¨Ò»¸öÓëij¸ö±íÏàͬ½á¹¹µÄ±í
select * into b
from a where 1<>1
3£®betwee ......
ɾ³ý±í¼Ç¼£¬¿ìËÙɾ³ý±í¼Ç¼£¬É¾³ý±íÕâЩÓï¾äÏàÐÅ´ó¼Ò¶¼»á£¬ÏÂÃæÕûÀíÒ»ÏÂTruncate¡¢delete¡¢dropÓ÷¨Çø±ð£º
Ïàͬµã
truncateºÍ²»´øwhere×Ó¾äµÄdelete, ÒÔ¼°drop¶¼»áɾ³ý±íÄÚµÄÊý¾Ý
²»Í¬µã:
1. truncateºÍ deleteֻɾ³ýÊý¾Ý²»É¾³ý±íµÄ½á¹¹(¶¨Òå)
dropÓï¾ä½«É¾³ý±íµÄ½á¹¹±»ÒÀÀµµÄÔ¼Êø(constrain) ......
ÉÏ»ØÎÒÃÇ˵µ½ÆÀ¹ÀÒ»ÌõÓï¾äÖ´ÐÐЧÂÊÖ÷Òª¿´Âß¼ IO £¨É¶ÊÇÂß¼ IO £¬É¶ÊÇÎïÀí IO ¼ûÁª»úÎĵµ£©£¬Õâ´ÎÎÒÃǼÌÐø¡£
ÎÒÃÇÏÈ˵˵£¬·µ»Ø¶àÐнá¹ûʱ£¬ÎªÊ²Ã´ SQLServer ÓÐʱ»áÑ¡Ôñ index seek £¬ÓÐʱ»áÑ¡Ôñ index scan ¡£
ÒÔ nonclustered index ΪÀý˵Ã÷¡£
ÏñËùÓеÄË÷Òý B Ê÷Ò»Ñù£¬·Ç¾Û¼¯Ë÷ÒýÊ÷Ò²°üÀ¨ÍêÈ«ÓÉË÷ÒýÊý¾Ý×é³ÉµÄ¸ù½ ......
·ÖÇøµÄ·¢Õ¹ÀúÊ·
·ÖÇøµÄ¸ÅÄî¶Ô SQL Server À´Ëµ²¢²»Ä°Éú¡£Êµ¼ÊÉÏ£¬´Ë²úÆ·µÄÿ¸ö°æ±¾Öж¼¿ÉÒÔʵÏÖ²»Í¬ÐÎʽµÄ·ÖÇø¡£µ«ÊÇ£¬ÓÉÓÚûÓÐΪÁ˰ïÖúÓû§´´½¨ºÍά»¤·ÖÇø¼Ü¹¹¶ø×¨ÃÅÉè¼ÆÒ»Ð©¹¦ÄÜ£¬Òò´Ë·ÖÇøÒ»Ö±ÊÇÒ»¸öºÜ·±ËöµÄ¹ý³Ì£¬Ã»Óеõ½³ä·ÖµÄÀûÓ᣶øÇÒ£¬Óû§ºÍ¿ª·¢ÈËÔ±¶Ô´Ë¼Ü¹¹´æÔÚÎó½â£¨ÓÉÓÚÆäÊý¾Ý¿âÉè¼Æ±È½Ï¸´ÔÓ£©£¬µÍ¹ÀÁËËüµÄÓÅ ......
http://technet.microsoft.com/zh-cn/magazine/2008.04.blocking.aspx
SQL Server
×î´ó³Ì¶È½µµÍ SQL Server ÖеÄ×èÈû
Cherié Warren
¸ÅÀÀ:
·¢ÉúËøÉý¼¶µÄÔÒò
±ÜÃâ²»±ØÒªµÄ×èÈû
ÓÅ»¯²éѯ
¼àÊÓËø¶¨¶ÔÐÔÄܵÄÓ°Ïì
Ëø¶¨¶ÔÖ§³ÖÊý¾Ý¿âµÄ²¢·¢¶Áд»î¶¯¶øÑÔÊDZØÐèµÄ£¬µ«×èÈûÈ´»á¶ÔϵͳÐÔÄܲúÉú¸ºÃæÓ°Ï죬 ......