±ðÈöÔ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 Server2005µÄÒ»¸öÐÂÌØÐÔ±ãÊÇÎÒµÈÁ˺ܾõÄRow_Number(),ÒÔǰÓÃOracleʱÓÃrownumberд·ÖÒ³´æ´¢¹ý³ÌºÜ·½±ã£º£©
ÏÂÃæÊÇÎÒ×öµÄÒ»¸öССµÄ²âÊÔ£¬²âÊÔÎÒÔÀ´ÔÚsql server2000ÏÂËùÓõķÖÒ³´æ´¢¹ý³ÌÓëʹÓÃRow_Number()±àдµÄ´æ´¢¹ý³ÌÔÚSql Server2005ÉϵÄÖ´ÐÐЧÂÊ...
Êý¾Ý±í£º
REATE TABLE [dbo].[test](
[UserId] [int] Pri ......
SQL2000µÄÊý¾ÝÀàÐͼ°³¤¶È
==============================
bigint 8
binary 8000
bit 1
char 8000
datetime 8
decimal 17
float 8
image 16
int 4
money 8
nchar 8000
ntext 16
numeric 17
nvarchar 8000
real 4
smalldatetime 4
smallint 2
smallmoney 4
sql_variant 8016
sysname 256
text 16
tim ......
for ACCESS :
update a, b set a.name=b.name1 where a.id=b.id
for SQL Server:
"update a set a.name=b.name1 from a,b where a.id=b.id"
update a set a.status=b.status
from table1 a,table2 b
&nbs ......
¶ÔSQL Server 2008 ½øÐÐMirrorµÄ»ù±¾ÅäÖü°°²×°¡£
×¼±¸¹¤×÷
1. Principal ÓëMirror ÒÔ¼° Witness Èý̨ʵÀý¶¼°²×°ÎªÏàͬ°æ±¾£¬Ä¿Ç°Êǵ½SQL Server 2008 SP1¡£
2. ÐèÒªÓÐÒ»¸öÓòÕÊ»§·Ö±ðÌí¼Óµ½ Èý̨Êý¾Ý¿âʵÀýËùÔÚµÄServer µÄ Administrators×é¡¢ÒÔ¼°SQL Server Ïà¹ØµÄ×éÖУ» ÓÉÓÚ¾ßÌåµÄ×éµÄ¹¦Äܲ»Çå³þ£¬Òò´Ë½¨ÒéËùÓ ......
ÔÚ³ÌÐòÖÐÓÐЩ²éѯÓï¾äÏà¶Ô½Ï³¤£¬¿ÉÒÔ½«Óï¾äµ¥¶ÀдÔÚÒ»¸öXXX.sqlÎļþÖУ¬ÔÚ³ÌÐòÖжÁÈ¡SQLÎļþ
¾ßÌåÉæ¼°µ½
import java.io.File;
import org.apache.commons.io.FileUtils;
import java.net.URL;
URL resourceUrl = XXXX.class.getClassLoader().getResource(SQL_PATH+sqlName);//SQL_PATH¾ßÌåSQLÎļþ´æÔÚ·¾¶£¬sqlName¼ ......