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

±ðÈöÔSql Server µÄÐÔÄܲâÊÔÊý¾ÝÃÔ»óÄã

Êý¾Ý¿âµÄÐÔÄܲâÊÔ¿ÉÒÔ°ïÖúÄãÌáÇ°ÖªµÀÄãµÄϵͳµÄ¸ºÔØÄÜÁ¦£¬¿ÉÒÔ°ïÖúÄã¸Ä½øϵͳµÄʵʩ»òÉè¼Æ£¬¿ÉÒÔ°ïÖúÄãÈ·¶¨Ò»Ð©Éè¼ÆºÍ±à³ÌÔ­Ôò. µ«ÊÇ£¬ÕâÀïÃæÒ²ÓÐÏÝÚå. Èç¹û²»Ð¡ÐÄ£¬Äã»á×Ô¼º°Ñ×Ô¼ºÏݽøÈ¥£¬È´×îÖÕ²»Ã÷°×ÊÇʲôԭÒò. ÕâÀÎÒÄÃһλÏÈÉúΪÀý£¬À´¿´¿´ËûÔõô×Ô¼º°Ñ×Ô¼º¸ãºýÍ¿µÄ.
×î½ü, ÏëÆðÔÚ´æ´¢¹ý³ÌÖо¿¾¹ÊÇʹÓÃÁÙʱ±í»¹ÊÇʹÓñí±äÁ¿¶ÔÐÔÄܸüΪÓÐÀûµÄÎÊÌâ. ÎÒÏëÕâ¸öÎÊÌâµÄ¹Ø¼üÉæ¼°µ½Êý¾Ý¿âÊÇ·ñ¶ÔÆä½øÐÐtransaction ¹ÜÀíµÄÎÊÌâ, Èç¹û½øÐÐtransaction ¹ÜÀí, ÄÇôÔڸıä±íÖеļǼʱ¾Í»áʹÓà write-ahead transaction log ²ßÂÔ, ÕâÑùÊý¾Ý¸Ä±ä²Ù×÷¾Í»á±äÂý. ËùÒÔ, Èç¹ûÊý¾Ý¿âengine½ö¶ÔÒ»ÖÖÀàÐ͵ıí½øÐÐÊÂÎï¹ÜÀí, ÄÇôʹÓò»Í¬ÀàÐ͵ıí¾Í»áÌåÏÖ³öÐÔÄܲî±ð. ÓÚÊÇ, ÎÒ¾ÍÔÚÍøÉÏËÑÁËÒ»ÏÂ, »¹Õæ²é³öһƪÌرð¶Ô¿ÚµÄÎÄÕÂ, Temporary Tables vs. Table Variables and Their Effect on SQL Server Performance.
×ܽáTsuranoffµÄÕâƪÎÄÕÂ, ¹ØÓÚÁÙʱ±íºÍ±í±äÁ¿, ÀíÂÛÉÏ˵, ÓÐÈýµã:
1. Êý¾Ý¿âengine¶ÔÁÙʱ±í½øÐÐÊÂÎñ¹ÜÀí£¬µ«²»¶Ô±í±äÁ¿½øÐÐÊÂÎñ¹ÜÀí.
2. ±í±äÁ¿ÊÇÍêÈ«¾ÖÓòµÄ£¬Òò´Ë£¬²»ÐèÒªÈκεÄlocking.
3. ±í±äÁ¿Ïà¶ÔÁÙʱ±í¶øÑÔ£¬±È½ÏÉÙÒýÆðÖرàÒë
È»ºó£¬Tsuranoff±ãչʾÁËÐÔÄܲâÊԵĽá¹û£¬×ªÂ¼ÈçÏ£º
N
T1
T2
T3
V1
V2
10
0.5
0.5
5.3
0.2
0.2
100
2
1.2
6.4
61.8
2.5
1000
9.3
8.5
13.5
168
140
10000
67.4
79.2
71.3
17133
13910
100000
700
794
659
Too long!
Too long!
1000000
10556
8673
6440
Too long!
Too long!
Table 2: Using SQL Server 2005 (time in ms).
ΪÁ˶ÁÕßÔĶÁ·½±ã£¬ÎÒÕâÀï¸ø³öÉϱíµÄ½âÊÍ£º
1.  T1, T2, T3, V1, V2´ú±íÁ˲»Í¬µÄ´æ´¢¹ý³Ì£¬ËûÃǵÄÂß¼­ºÍ¹¦ÄÜÍêÈ«Ïàͬ£¬½ö½öÊÇʵÏÖÊÖ·¨ÉÏÂÔÓвî±ð. T1, T2, T3¶ÔӦʹÓÃÁÙʱ±íµÄ´æ´¢¹ý³Ì£¬Æä²î±ðÔÚÓÚ, T1²»Ê¹ÓÃË÷Òý£¬ T2ʹÓÃÔ¤Ïȶ¨ÒåµÄË÷Òý£¬T3ÏȶÔÁÙʱ±íµ¹ÈëÊý¾Ý£¬ÔÚ½øÐвéѯǰÔÙ½¨Ë÷Òý. V1ʹÓñí±äÁ¿£¬µ«²»Ê¹ÓÃË÷Òý£¬V2ʹÓñí±äÁ¿²¢Ê¹ÓÃË÷Òý. "N"Ò»ÁеÄÊýÖµÊÇÊÔÑéʱ¶ÔÕâЩ´æ´¢¹ý³ÌËù²ÉÓõIJÎÊý.
2. ½á¹ûÏÔʾ£¬Ê¹Óñí±äÁ¿µÄ´æ´¢¹ý³ÌµÄÐÔÄܲ¢²»±ÈʹÓÃÁÙʱ±íµÄ´æ´¢¹ý³ÌÐÔÄܸüºÃ£¬Ïà·´£¬µ±ÊäÈë²ÎÊýN(¼´´¦ÀíµÄÐÐÊý)±ä´óʱ£¬ÐÔÄÜÍêÈ«±ä»µ.
ºÁÎÞÒÉÎÊ£¬ÊÔÑéÊý¾ÝºÍÀíÂÛÍƲâµÄ½á¹ûÏà·´. È»¶ø×÷Õß²»È¥×·¾¿ÆäÉî²ãµÄÔ­Òò£¬¾ÍºýÀïºýÍ¿µÄ¸ø³öÒ»¶Ñ½áÂÛ. ¿ÉÏë¶øÖª£¬Á¬Êý¾Ý¶¼ÊÇ´íµÄ£¬ÄǸø³öµÄ½áÂÛ»¹²»ÎóÈË×ÓµÜÂð? ÕâÀï¾Í²»Öظ´ËûµÄ½áÂÛÁË.
µ±ÎÒ¿´µ½ÕâЩÊý


Ïà¹ØÎĵµ£º

SQLËæ»ú²éѯ

SQL Server£º
Select TOP N * from TABLE Order By NewID()  
Select TOP N * from TABLE Order By NewID()
NewID()º¯Êý½«´´½¨Ò»¸ö uniqueidentifier ÀàÐ͵ÄΨһֵ¡£ÉÏÃæµÄÓï¾äʵÏÖЧ¹ûÊÇ´ÓTableÖÐËæ»ú¶ÁÈ¡NÌõ¼Ç¼¡£
Access£º
Select TOP N *&n ......

SQL²éѯÓï¾ä£¨¹ØÓÚÖظ´Êý¾ÝµÄ£©

1¡¢²éѯ±íÖÐÖظ´Êý¾Ý¡£select * from people
where peopleId in (select  peopleId  from  people  group  by  peopleId  having  count(peopleId) > 1)
2¡¢É¾³ý±íÖжàÓàµÄÖظ´¼Ç¼£¬Öظ´¼Ç¼ÊǸù¾Ýµ ......

¶¯Ì¬SQL(Dynamic SQL)

----start
    ¶¯Ì¬SQLÊÇÔÚ³ÌÐòÔËÐÐʱ¹¹ÔìµÄ£¬ÒªÖ´Ðе¥ÌõSQL£¬Ê¹ÓÃEXECUTE IMMEDATE Óï¾ä£»µ±ÅúÁ¿Ö´ÐÐSQLʱ£¬ÏÈʹÓÃPREPARE Óï¾ä¹¹ÔìSQL£¬È»ºóʹÓÃEXECUTE Óï¾äÖ´ÐС£
Ò»£ºPrepareÓï¾ä£ºÓÃÀ´¹¹ÔìÅúÁ¿SQL
Óï·¨£º
PREPARE <sql-statement> [OUTPUT] INTO <result> [INPUT INTO] <input> ......

Sql Server2005ÓÃRow_Number·ÖÒ³´æ´¢¹ý³ÌµÄÐÔÄÜʵ²â

Sql Server2005µÄÒ»¸öÐÂÌØÐÔ±ãÊÇÎÒµÈÁ˺ܾõÄRow_Number(),ÒÔÇ°ÓÃOracleʱÓÃrownumberд·ÖÒ³´æ´¢¹ý³ÌºÜ·½±ã£º£©
ÏÂÃæÊÇÎÒ×öµÄÒ»¸öССµÄ²âÊÔ£¬²âÊÔÎÒÔ­À´ÔÚsql server2000ÏÂËùÓõķÖÒ³´æ´¢¹ý³ÌÓëʹÓÃRow_Number()±àдµÄ´æ´¢¹ý³ÌÔÚSql Server2005ÉϵÄÖ´ÐÐЧÂÊ...
Êý¾Ý±í£º
REATE TABLE [dbo].[test](
[UserId] [int] Pri ......

how things work : sql select statement


Ô­ÍøÕ¾ÎÞ·¨·ÃÎÊ£¬¹Ê±£Áôgoogle¿ìÕÕ
How things work : 
SQL
 
Select
 
Statement
Introduction
:
Ever asked your self how things work inside the 
SQL
 
Select
statement? In this article we won’t be talking about how to writeSQL
 
Select
 
statem ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ