Àμǣ¡SQL ServerÊý¾Ý¿â¿ª·¢µÄ¶þʮһÌõ¾ü¹æ(SQLÊÕ²Ø)
Èç¹ûÄãÕýÔÚ¸ºÔðÒ»¸ö»ùÓÚSQL ServerµÄÏîÄ¿£¬»òÕßÄã¸Õ¸Õ½Ó´¥SQL Server£¬Äã¶¼ÓпÉÄÜÒªÃæÁÙһЩÊý¾Ý¿âÐÔÄܵÄÎÊÌ⣬ÕâÆªÎÄÕ»áΪÄãÌṩһЩÓÐÓõÄÖ¸µ¼£¨ÆäÖдó¶àÊýÒ²¿ÉÒÔÓÃÓÚÆäËüµÄDBMS£©¡£
ÔÚÕâÀÎÒ²»´òËã½éÉÜʹÓÃSQL ServerµÄÇÏÃÅ£¬Ò²²»ÄÜÌṩһ¸ö°üÖΰٲ¡µÄ·½°¸£¬ÎÒËù×öµÄÊÇ×ܽáһЩ¾Ñé----¹ØÓÚÈçºÎÐγÉÒ»¸öºÃµÄÉè¼Æ¡£ÕâЩ¾ÑéÀ´×ÔÎÒ¹ýÈ¥¼¸ÄêÖоÊܵĽÌѵ£¬Ò»Ö±À´£¬ÎÒ¿´µ½Ðí¶àͬÑùµÄÉè¼Æ´íÎó±»Ò»´ÎÓÖÒ»´ÎµÄÖØ¸´¡£
Ò»¡¢Á˽âÄãÓõŤ¾ß
²»ÒªÇáÊÓÕâÒ»µã£¬ÕâÊÇÎÒÔÚÕâÆªÎÄÕÂÖн²ÊöµÄ×î¹Ø¼üµÄÒ»Ìõ¡£Ò²ÐíÄãÒ²¿´µ½ÓкܶàµÄSQL Server³ÌÐòԱûÓÐÕÆÎÕÈ«²¿µÄT-SQLÃüÁîºÍSQL ServerÌṩµÄÄÇЩÓÐÓõŤ¾ß¡£
“ʲô£¿ÎÒÒªÀË·ÑÒ»¸öÔµÄʱ¼äÀ´Ñ§Ï°ÄÇЩÎÒÓÀÔ¶Ò²²»»áÓõ½µÄSQLÃüÁ£¿£¿”£¬ÄãÒ²Ðí»áÕâÑù˵¡£¶ÔµÄ£¬Äã²»ÐèÒªÕâÑù×ö¡£µ«ÊÇÄãÓ¦¸ÃÓÃÒ»¸öÖÜÄ©ä¯ÀÀËùÓеÄT-SQLÃüÁî¡£ÔÚÕâÀÄãµÄÈÎÎñÊÇÁ˽⣬½«À´£¬µ±ÄãÉè¼ÆÒ»¸ö²éѯʱ£¬Äã»á¼ÇÆðÀ´£º“¶ÔÁË£¬ÕâÀïÓÐÒ»¸öÃüÁî¿ÉÒÔÍêȫʵÏÖÎÒÐèÒªµÄ¹¦ÄÜ”£¬ÓÚÊÇ£¬µ½MSDN²é¿´Õâ¸öÃüÁîµÄÈ·ÇÐÓï·¨¡£
¶þ¡¢²»ÒªÊ¹ÓÃÓαê
ÈÃÎÒÔÙÖØ¸´Ò»±é£º²»ÒªÊ¹ÓÃÓαꡣÈç¹ûÄãÏëÆÆ»µÕû¸öϵͳµÄÐÔÄܵϰ£¬ËüÃǵ¹ÊÇÄã×îÓÐЧµÄÊ×Ñ¡°ì·¨¡£´ó¶àÊýµÄ³õѧÕß¶¼Ê¹ÓÃÓα꣬¶øÃ»ÓÐÒâʶµ½ËüÃǶÔÐÔÄÜÔì³ÉµÄÓ°Ïì¡£ËüÃÇÕ¼ÓÃÄڴ棬»¹ÓÃËüÃÇÄÇЩ²»¿É˼ÒéµÄ·½Ê½Ëø¶¨±í£¬ÁíÍ⣬ËüÃǼòÖ±¾ÍÏñÎÏÅ£¡£¶ø×îÔã¸âµÄÊÇ£¬ËüÃÇ¿ÉÒÔʹÄãµÄDBAËùÄÜ×öµÄÒ»ÇÐÐÔÄÜÓÅ»¯µÈÓÚû×ö¡£²»ÖªÄãÊÇ·ñÖªµÀÿִÐÐÒ»´ÎFETCH¾ÍµÈÓÚÖ´ÐÐÒ»´ÎSELECTÃüÁÕâÒâζ×ÅÈç¹ûÄãµÄÓαêÓÐ10000Ìõ¼Ç¼£¬Ëü½«Ö´ÐÐ10000´ÎSELECT£¡Èç¹ûÄãʹÓÃÒ»×éSELECT¡¢UPDATE»òÕßDELETEÀ´Íê³ÉÏàÓ¦µÄ¹¤×÷£¬Äǽ«ÓÐЧÂʵĶࡣ
³õѧÕßÒ»°ãÈÏΪʹÓÃÓαêÊÇÒ»ÖֱȽÏÊìϤºÍÊæÊʵıà³Ì·½Ê½£¬¿ÉºÜ²»ÐÒ£¬Õâ»áµ¼ÖÂÔã¸âµÄÐÔÄÜ¡£ÏÔÈ»£¬SQLµÄ×ÜÌåÄ¿µÄÊÇÄãҪʵÏÖʲô£¬¶ø²»ÊÇÔõÑùʵÏÖ¡£
ÎÒÔø¾ÓÃT-SQLÖØÐ´ÁËÒ»¸ö»ùÓÚÓαêµÄ´æ´¢¹ý³Ì£¬ÄǸö±íÖ»ÓÐ100,000Ìõ¼Ç¼£¬ÔÀ´µÄ´æ´¢¹ý³ÌÓÃÁË40·ÖÖÓ²ÅÖ´ÐÐÍê±Ï£¬¶øÐµĴ洢¹ý³ÌÖ»ÓÃÁË10ÃëÖÓ¡£ÔÚÕâÀÎÒÏëÄãÓ¦¸Ã¿ÉÒÔ¿´µ½Ò»¸ö²»³ÆÖ°µÄ³ÌÐòÔ±¾¿¾¹ÔÚ¸ÉÁËʲô£¡£¡£¡
ÎÒÃÇ¿ÉÒÔдһ¸öС³ÌÐòÀ´È¡µÃºÍ´¦ÀíÊý¾Ý²¢ÇÒ¸üÐÂÊý¾Ý¿â£¬ÕâÑù×öÓÐʱ»á¸üÓÐЧ¡£¼Çס£º¶ÔÓÚÑ»·£¬T-SQLÎÞÄÜΪÁ¦¡£
ÎÒÔÙÖØÐÂÌáÐÑһϣºÊ¹ÓÃÓαêûÓкô¦¡£³ýÁËDBAµÄ¹¤×÷Í⣬ÎÒ´ÓÀ´Ã»Óп´µ½¹ýʹÓÃÓαê¿ÉÒÔÓÐЧµÄÍê³ÉÈκι¤×÷¡£
Èý¡¢¹æ·¶»¯ÄãµÄÊý¾Ý±í
Ϊʲô²»¹æ·¶»¯Êý¾Ý¿â£¿´ó¸ÅÓÐÁ½¸ö½è¿Ú£º³öÓÚÐÔÄܵĿ¼ÂǺʹ¿
Ïà¹ØÎĵµ£º
----²é¿´ËùÓнDZ¾
Create table #y (txt text)
select name, iid = identity(int,1,1) into #x from SysObjects where xtype = 'TR'
declare @i int, @max int
declare @name varchar(40)
set @i = 1
select @max = max(iid) from #x
while @i <= @max
begin
select @name = name from #x w ......
ÔÚSQLÓï¾äÓÅ»¯¹ý³ÌÖУ¬ÎÒÃǾ³£»áÓõ½hint,ÏÖ×ܽáÒ»ÏÂÔÚSQLÓÅ»¯¹ý³ÌÖг£¼ûOracle
HINTµÄÓ÷¨£º
1. /*+ALL_ROWS*/
±íÃ÷¶ÔÓï¾ä¿éÑ¡Ôñ»ùÓÚ¿ªÏúµÄÓÅ»¯·½·¨,²¢»ñµÃ×î¼ÑÍÌÍÂÁ¿,ʹ×ÊÔ´ÏûºÄ×îС»¯.
ÀýÈç:
SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_IN from BSEMPMS WHERE EMP_NO='SCOTT'; 2. /*+FIRST_ROWS*/
±íÃ÷¶ÔÓï¾ä¿ ......
ÔÚSQL ServerÖÐÓÐÒ»¸ö·Ç³£ÖØÒªµÄÃüÁî¾ÍÊÇCheckPoint£¬ËüÖ÷Òª×÷ÓÃÊǰѻº´æÖеÄÊý¾ÝдÈëmdfÎļþÖС£
ÆäʵÔÚÎÒÃǽøÐÐinsert, update, deleteʱ£¬Êý¾Ý²¢Ã»ÓÐÖ±½ÓдÈëÊý¾Ý¿â¶ÔÓ¦µÄmdfÎļþÖУ¬¶øÊÇдÈëÁË»º´æÀÕâÓеãÏñµç¿£¬ÒòΪ¹ýÓÚÆµ·±µÄдÈë»áʹ´ÅÅ̵ÄÊÙÃü´ó´ó¼õС¡£
´ÓÉÏͼ¿ÉÒÔÖ±¹ÛµÄ¿´³ö¡£Ö»Óе±·¢Éúcheckpoint ......
ÏÂÁÐÓï¾ä²¿·ÖÊÇMssqlÓï¾ä£¬²»¿ÉÒÔÔÚaccessÖÐʹÓá£
SQL·ÖÀࣺ
DDL—Êý¾Ý¶¨ÒåÓïÑÔ(CREATE£¬ALTER£¬DROP£¬DECLARE)
DML—Êý¾Ý²Ù×ÝÓïÑÔ(SELECT£¬DELETE£¬UPDATE£¬INSERT)
DCL—Êý¾Ý¿ØÖÆÓïÑÔ(GRANT£¬REVOKE£¬COMMIT£¬ROLLBACK)
Ê×ÏÈ,¼òÒª½éÉÜ»ù´¡Óï¾ä£º
1¡¢ËµÃ÷£º´´½¨Êý¾Ý¿â
CREATE DATABASE data ......