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(¼´´¦ÀíµÄÐÐÊý)±ä´óʱ£¬ÐÔÄÜÍêÈ«±ä»µ.
ºÁÎÞÒÉÎÊ£¬ÊÔÑéÊý¾ÝºÍÀíÂÛÍƲâµÄ½á¹ûÏà·´. È»¶ø×÷Õß²»È¥×·¾¿ÆäÉî²ãµÄÔÒò£¬¾ÍºýÀïºýÍ¿µÄ¸ø³öÒ»¶Ñ½áÂÛ. ¿ÉÏë¶øÖª£¬Á¬Êý¾Ý¶¼ÊÇ´íµÄ£¬ÄǸø³öµÄ½áÂÛ»¹²»ÎóÈË×ÓµÜÂð? ÕâÀï¾Í²»Öظ´ËûµÄ½áÂÛÁË.
µ±ÎÒ¿´µ½ÕâЩÊý
Ïà¹ØÎĵµ£º
#Region " ÃüÃû¿Õ¼ä "
Imports System.Data
Imports System.Data.SqlClient
#End Region
Public Class DBCommon
Implements IDisposable
#Region " ³ÉÔ±±äÁ¿ "
Private conn As SqlConnection
Private cmd As SqlCommand
Private trans As SqlTransaction
#End Region
#Region " ¹¹Ô캯Êý "
......
Suppose we have a recursive hierarchy stored in a relational database and we want to write it to XML. This might be for a variety of reasons – e.g. as a pre-cached input to a UI control, to export to another system using a pre-defined format, etc.
In SQL Server 2000, in order to ......
Ò»£ºSelectÓï¾ä£º
select ×Ö¶ÎÃû from ±íÃû where Ìõ¼þ order by ÅÅÐò
see:select distinct ´Ó¶à¸öÏàͬ×Ö¶ÎÖÐץΨһֵ
see:²éÕÒld_det_andy±íÖÐÓÐÊý¾Ýµ«ld_det_temp±íÖÐûÊý¾ÝµÄÊý¾Ý
select * from ld_det_a ......
DB2 SQL PL
SQL PLÊÇDB2ËùÖ§³ÖµÄ¹ý³Ì»¯ÓïÑÔ£¬ËüÊÇSQL/PSM±ê×¼µÄÒ»¸ö×Ó¼¯¡£Æä¸ù¾ÝÓ¦Ó÷¶Î§²»Í¬£¬ÓÖ·ÖΪInline SQL PL£¬Embeded SQL PLºÍCompiled SQL PL¡£
Inline SQL PL
ÊÊÓ÷¶Î§£º´¥·¢Æ÷¡¢º¯ÊýºÍ·½·¨£¬Ö§³Ö²¿·ÖSQL PL£¬Ê¹ÓÃʱҪעÒâһЩÏÞÖÆ
Óï·¨¹æÔò£ºBEGIN ATOMIC ... END
Embeded SQL PL
ÊÊÓ÷¶Î§£ºÇ¶Èëʽ£¬Åäº ......
ÓÉÓÚ´úÂë¹ýÓÚ¼òµ¥£¬Ö±½ÓÌù³ö£º
SqlDataSourceEnumerator SseInstance = SqlDataSourceEnumerator.Instance;
//ServerName:·þÎñÆ÷Ãû;
//InstanceName:ʵÀýÃû;
//IsClustered:ÊÇ·ñΪȺ¼¯·þÎñÆ÷µÄÒ»²¿·Ö;
//Version:°æ±¾,8.*ÊÇSQL 2000,9.*ÊÇSQL 2005
DataTable DtSqlInstance = SseInstance.GetDataSources();
×¢£º ......