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(¼´´¦ÀíµÄÐÐÊý)±ä´óʱ£¬ÐÔÄÜÍêÈ«±ä»µ.
ºÁÎÞÒÉÎÊ£¬ÊÔÑéÊý¾ÝºÍÀíÂÛÍÆ²âµÄ½á¹ûÏà·´. È»¶ø×÷Õß²»È¥×·¾¿ÆäÉî²ãµÄÔÒò£¬¾ÍºýÀïºýÍ¿µÄ¸ø³öÒ»¶Ñ½áÂÛ. ¿ÉÏë¶øÖª£¬Á¬Êý¾Ý¶¼ÊÇ´íµÄ£¬ÄǸø³öµÄ½áÂÛ»¹²»ÎóÈË×ÓµÜÂð? ÕâÀï¾Í²»Öظ´ËûµÄ½áÂÛÁË.
µ±ÎÒ¿´µ½ÕâЩÊý
Ïà¹ØÎĵµ£º
ÏÂÁÐÓï¾ä²¿·ÖÊÇMssqlÓï¾ä£¬²»¿ÉÒÔÔÚaccessÖÐʹÓá£
SQL·ÖÀࣺ
DDL—Êý¾Ý¶¨ÒåÓïÑÔ(CREATE£¬ALTER£¬DROP£¬DECLARE)
DML—Êý¾Ý²Ù×ÝÓïÑÔ(SELECT£¬DELETE£¬UPDATE£¬INSERT)
DCL—Êý¾Ý¿ØÖÆÓïÑÔ(GRANT£¬REVOKE£¬COMMIT£¬ROLLBACK)
Ê×ÏÈ,¼òÒª½éÉÜ»ù´¡Óï¾ä:
1¡¢ËµÃ÷£º´´½¨Êý¾Ý¿â
CREATE DATABASE database-nam ......
ÎÊÌâÃèÊö£º
Óбítb, ÈçÏÂ:
id values
----------- -----------
1 aa,bb
2 aaa,bbb,ccc
Óû°´,·Ö²ðvaluesÁÐ, ·Ö²ðºó½á¹ûÈçÏÂ:
id& ......
¾ßÌåʵÏÖÈçÏ£º
SQL> select count(*) from v$session #Á¬½ÓÊý
SQL> Select count(*) from v$session where status='ACTIVE'¡¡#²¢·¢Á¬½ÓÊý
SQL> show parameter processes #×î´óÁ¬½Ó
SQL> alter system set processes = value scope = spfile;ÖØÆôÊý¾Ý¿â #ÐÞ¸ÄÁ¬½Ó ......
SQL³£Ó÷ÖÒ³µÄ°ì·¨:
±íÖÐÖ÷¼ü±ØÐëΪ±êʶÁУ¬[ID] int IDENTITY (1,1)
1.·ÖÒ³·½°¸Ò»£º(ÀûÓÃNot InºÍSELECT TOP·ÖÒ³)
Óï¾äÐÎʽ£º
SELECT TOP Ò³¼Ç¼ÊýÁ¿ *
from ±íÃû
WHERE (ID NOT IN
(SELECT TOP (ÿҳÐÐÊý*(Ò³Êý-1)) ID
from ±íÃû
ORDER BY ID))
ORDER BY ID
//×Ô ......
select *from student
select student_id from student
select student_id ,student_name from student
select student_id student_name from student ½«student_name ×÷Ϊstudent_idµÄ±ðÃû´¦Àí
È磺 select student_id a from student
select a=student_id from student
´Óstudent±íÖзֱð¼ ......