Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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 ºÁÃë¡£
¡¡¡¡
¡¡¡¡
¡


Ïà¹ØÎĵµ£º

PL/SQLѧϰ±Ê¼ÇÆß


Oracle9iÒì³£´¦Àí·ÖΪϵͳԤ¶¨ÒåÒì³£´¦ÀíºÍ×Ô¶¨ÒåÒì³£´¦ÀíÁ½²¿·Ö¡£
×Ô¶¨ÒåÒì³£´¦Àí
1.¶¨ÒåÒì³£´¦Àí
declare Òì³£Ãû exception;
2.´¥·¢Òì³£´¦Àí
raise Òì³£Ãû
3.´¦ÀíÒì³£
exception
when Òì³£Ãû1 then
    Òì³£´¦ÀíÓï¾ä¶Î1;
when Òì³£Ãû2 then
    Òì³£´¦ÀíÓï¾ä¶Î2;
ʾÀý£º
se ......

SQL*Plus FAQ

 What is SQL*Plus and where does it come from?
SQL*Plus is a command line SQL and PL/SQL language interface and reporting tool that ships with the Oracle Database Client and Server software. It can be used interactively or driven from scripts. SQL*Plus is frequently used by DBAs and Developers ......

ʹÓÃset statistics on À´¼ì²ésql tuningµÄ½á¹û


ÔÚSQL Server2005/2008ÖпÉÒÔʹÓÃÒ»ÏÂËĸöÃüÁîÀ´µ÷ÓÅsqlÓï¾äÒÔ¼°¼ì²éµ÷ÓŵĽá¹û
set
 statistics time on

set
 statistics IO on

set
 statistics profile on

set
 statistics xml on

......

SQLÓï¾äÓÅ»¯Êµ¼ùÖ®Ò»SQL_TRACE

SQLÓï¾äÓÅ»¯Êµ¼ùÖ®Ò»SQL_TRACE
 
»·¾³£ºÔÚPL/sqlÉϵ÷ÊÔÊý¾Ý
Pl/sql developer¹¤¾ßÁ¬½ÓʵÀýºó¼´×÷Ϊһ¸öÓû§½ø³ÌÕ¼ÓÃÒ»¸ösession£»
 
select * from  v$session t  where t.PROGRAM='plsqldev.exe' and  t.USERNAME='DZJC'
²éѯ½á¹ûÏÔʾÁ˼¸¸ö¹Ø¼üµÄ×Ö¶Î
SADDR   RAW(4)  S ......

ÈçºÎÈÃÄãµÄSQLÔËÐеøü¿ì(תÌù)

ÈçºÎÈÃÄãµÄSQLÔËÐеøü¿ì(תÌù)    
  ----   ÈËÃÇÔÚʹÓÃSQLʱÍùÍù»áÏÝÈëÒ»¸öÎóÇø£¬¼´Ì«¹Ø×¢ÓÚËùµÃµÄ½á¹ûÊÇ·ñÕýÈ·£¬¶øºöÂÔ  
  Á˲»Í¬µÄʵÏÖ·½·¨Ö®¼ä¿ÉÄÜ´æÔÚµÄÐÔÄܲîÒ죬ÕâÖÖÐÔÄܲîÒìÔÚ´óÐ͵ĻòÊǸ´ÔÓµÄÊý¾Ý¿â  
  »·¾³ÖУ¨ÈçÁª»úÊÂÎñ´¦ÀíOLTP»ò¾ö²ßÖ§³ÖϵͳDSS£©ÖбíÏÖµÃÓ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ