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

SQLServer ÓÅ»¯SQLÓï¾ä£ºin ºÍnot inµÄÌæ´ú·½°¸


Ô­Îijö´¦£ºhttp://www.cnblogs.com/luoht/archive/2010/03/01/1676049.html
ÓÃINд³öÀ´µÄSQLµÄÓŵãÊDZȽÏÈÝÒ×д¼°ÇåÎúÒ׶®£¬Õâ±È½ÏÊʺÏÏÖ´úÈí¼þ¿ª·¢µÄ·ç¸ñ¡£
¡¡¡¡µ«ÊÇÓÃINµÄSQLÐÔÄÜ×ÜÊDZȽϵ͵ģ¬´ÓSQLÖ´ÐеIJ½ÖèÀ´·ÖÎöÓÃINµÄSQLÓë²»ÓÃINµÄSQLÓÐÒÔÏÂÇø±ð£º
¡¡¡¡SQLÊÔͼ½«Æäת»»³É¶à¸ö±íµÄÁ¬½Ó£¬Èç¹ûת»»²»³É¹¦ÔòÏÈÖ´ÐÐINÀïÃæµÄ×Ó²éѯ£¬ÔÙ²éѯÍâ²ãµÄ±í¼Ç¼£¬Èç¹ûת»»³É¹¦ÔòÖ±½Ó²ÉÓöà¸ö±íµÄÁ¬½Ó·½Ê½²éѯ¡£Óɴ˿ɼûÓÃINµÄSQLÖÁÉÙ¶àÁËÒ»¸öת»»µÄ¹ý³Ì¡£Ò»°ãµÄSQL¶¼¿ÉÒÔת»»³É¹¦£¬µ«¶ÔÓÚº¬ÓзÖ×éͳ¼ÆµÈ·½ÃæµÄSQL¾Í²»ÄÜת»»ÁË¡£ ÍƼöÔÚÒµÎñÃܼ¯µÄSQLµ±Öо¡Á¿²»²ÉÓÃIN²Ù×÷·û
¡¡¡¡NOT IN ´Ë²Ù×÷ÊÇÇ¿ÁÐÍƼö²»Ê¹Óõģ¬ÒòΪËü²»ÄÜÓ¦ÓñíµÄË÷Òý¡£ÍƼöÓÃNOT EXISTS »ò(ÍâÁ¬½Ó+ÅжÏΪ¿Õ)·½°¸´úÌæ
¡¡¡¡ÔÚÊý¾Ý¿âÖÐÓÐÁ½¸ö±í£¬Ò»¸öÊǵ±Ç°±íInfo(id,PName,remark,impdate,upstate)£¬Ò»¸öÊDZ¸·ÝÊý¾Ý±íbakInfo(id,PName,remark,impdate,upstate)£¬½«µ±Ç°±íÊý¾Ý±¸·Ýµ½±¸·Ý±íÈ¥£¬¾ÍÉæ¼°µ½not in ºÍin ²Ù×÷ÁË£º
¡¡¡¡Ê×ÏÈ£¬Ìí¼Ó10ÍòÌõ²âÊÔÊý¾Ý
¡¡¡¡Ê¹ÓÃnot in ºÍin²Ù×÷£º
 
        SET STATISTICS TIME ON 
¡¡¡¡GO 
¡¡¡¡--±¸·ÝÊý¾Ý 
¡¡¡¡insert into bakInfo(id,PName,remark,impdate,upstate) 
¡¡¡¡select id,PName,remark,impdate,upstate from dbo.Info 
¡¡¡¡where id not in(select id from dbo.bakInfo) 
¡¡¡¡GO 
¡¡¡¡SET STATISTICS TIME OFF
 
¡¡¡¡´Ë²Ù×÷Ö´ÐÐʱ¼ä£º
¡¡¡¡SQL Server ·ÖÎöºÍ±àÒëʱ¼ä:
¡¡¡¡CPU ʱ¼ä = 0 ºÁÃ룬ռÓÃʱ¼ä = 3 ºÁÃë¡£
¡¡¡¡
¡¡¡¡SQL Server Ö´ÐÐʱ¼ä:
¡¡¡¡ CPU ʱ¼ä = 453 ºÁÃ룬ռÓÃʱ¼ä = 43045 ºÁÃë¡£
¡¡¡¡(100000 ÐÐÊÜÓ°Ïì)
¡¡¡¡SQL Server ·ÖÎöºÍ±àÒëʱ¼ä:
¡¡¡¡CPU ʱ¼ä = 0 ºÁÃ룬ռÓÃʱ¼ä = 1 ºÁÃë¡£
¡¡¡¡
¡¡¡¡
¡¡¡¡--¸ü¸Äµ±Ç°±í״̬
¡¡¡¡update Info set upstate=1 where id in(select id from dbo.bakInfo)
¡¡¡¡´Ë²Ù×÷Ö´ÐÐʱ¼ä£º
¡¡¡¡SQL Server ·ÖÎöºÍ±àÒëʱ¼ä:
¡¡¡¡CPU ʱ¼ä = 62 ºÁÃ룬ռÓÃʱ¼ä = 79 ºÁÃë¡£
¡¡¡¡SQL Server Ö´ÐÐʱ¼ä:
¡¡¡¡CPU ʱ¼ä = 188 ºÁÃ룬ռÓÃʱ¼ä = 318 ºÁÃë¡£
¡¡¡¡(100000 ÐÐÊÜÓ°Ïì)
¡¡¡¡SQL Server ·ÖÎöºÍ±àÒëʱ¼ä:
¡¡¡¡CPU ʱ¼ä = 0 ºÁÃ룬ռÓÃʱ¼ä = 1 ºÁÃë¡£
¡¡¡¡
¡¡¡¡
¡


Ïà¹ØÎĵµ£º

SQL ÈÕÆÚº¯Êý¼¯ÈÕÆÚ´¦Àí·½·¨·¶Àý

--¶¼Ð´ÁË ²Î¿¼Ï°É
ͨ³££¬ÄãÐèÒª»ñµÃµ±Ç°ÈÕÆںͼÆËãһЩÆäËûµÄÈÕÆÚ£¬ÀýÈ磬ÄãµÄ³ÌÐò¿ÉÄÜÐèÒªÅжÏÒ»¸öÔµĵÚÒ»Ìì»òÕß×îºóÒ»Ìì¡£ÄãÃǴ󲿷ÖÈË´ó¸Å¶¼ÖªµÀÔõÑù°ÑÈÕÆÚ½øÐзָÄê¡¢Ô¡¢Èյȣ©£¬È»ºó½ö½öÓ÷ָî³öÀ´µÄÄê¡¢Ô¡¢ÈյȷÅÔÚ¼¸¸öº¯ÊýÖмÆËã³ö×Ô¼ºËùÐèÒªµÄÈÕÆÚ£¡ÔÚÕâƪÎÄÕÂÀÎÒ½«¸æËßÄãÈçºÎʹÓÃDATEADDºÍDATEDIFFº¯Êý ......

SQLÓÅ»¯34Ìõ


£¨1£©      Ñ¡Ôñ×îÓÐЧÂʵıíÃû˳Ðò(Ö»ÔÚ»ùÓÚ¹æÔòµÄÓÅ»¯Æ÷ÖÐÓÐЧ)£º
ORACLE µÄ½âÎöÆ÷°´ÕÕ´ÓÓÒµ½×óµÄ˳Ðò´¦Àífrom×Ó¾äÖеıíÃû£¬from×Ó¾äÖÐдÔÚ×îºóµÄ±í(»ù´¡±í driving table)½«±»×îÏÈ´¦Àí£¬ÔÚfrom×Ó¾äÖаüº¬¶à¸ö±íµÄÇé¿öÏÂ,Äã±ØÐëÑ¡Ôñ¼Ç¼ÌõÊý×îÉٵıí×÷Ϊ»ù´¡±í¡£Èç¹ûÓÐ3¸öÒÔÉϵıíÁ¬½Ó²éѯ, ÄǾÍÐèÒª ......

³£Óà SQL Óï¾ä´óÈ«

±¾ÎÄ×ܽáÁË¿ª·¢¹¤×÷Öг£ÓõÄSQLÓï¾ä,¹©´ó¼Ò²Î¿¼……
--Óï ¾ä ¹¦ ÄÜ
--Êý¾Ý²Ù×÷
SELECT --´ÓÊý¾Ý¿â±íÖмìË÷Êý¾ÝÐкÍÁÐ
INSERT --ÏòÊý¾Ý¿â±íÌí¼ÓÐÂÊý¾ÝÐÐ
DELETE --´ÓÊý¾Ý¿â±íÖÐɾ³ýÊý¾ÝÐÐ
UPDATE --¸üÐÂÊý¾Ý¿â±íÖеÄÊý¾Ý
--Êý¾Ý¶¨Òå
CREATE TABLE --´´½¨Ò»¸öÊý¾Ý¿â±í
DROP TABLE --´ÓÊý¾Ý¿âÖÐɾ³ý±í
A ......

SQLÖظ´¼Ç¼²éѯɾ³ý

1
¡¢²éÕÒ±íÖжàÓàµÄÖظ´¼Ç¼£¬Öظ´¼Ç¼ÊǸù¾Ýµ¥¸ö×ֶΣ¨peopleId£©À´ÅжÏ
select

*

from
people
where
peopleId
in
(
select
   peopleId  
from
   people  
group
  
by
   peopleId  
having
  
cou ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ