Àμǣ¡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µÄ¹¤×÷Í⣬ÎÒ´ÓÀ´Ã»Óп´µ½¹ýʹÓÃÓαê¿ÉÒÔÓÐЧµÄÍê³ÉÈκι¤×÷¡£
Èý¡¢¹æ·¶»¯ÄãµÄÊý¾Ý±í
Ϊʲô²»¹æ·¶»¯Êý¾Ý¿â£¿´ó¸ÅÓÐÁ½¸ö½è¿Ú£º³öÓÚÐÔÄܵĿ¼ÂǺʹ¿
Ïà¹ØÎĵµ£º
ǰÑÔ£º
sql_trace ÊÇÎÒÔÚ¹¤×÷Öо³£ÒªÓõ½µÄµ÷ÓŹ¤¾ß£¬Ïà±È½Ïstatspack ÎÒ¸üÔ¸ÒâÓÃÕâ¸ö¹¤¾ß¡£
ÒòΪÊý¾Ý¿âÂýÔÒòµÄ85%ÒÔÉÏÊÇÓÉÓÚsqlÎÊÌâÔì³ÉµÄ£¬statspackûÓÐsqlµÄÖ´Ðмƻ®¡£ÏÔʾûÓÐËüÖ±¹Û£¬·½±ã£¬¶ÔÏëÒªÕë¶ÔÐÔ²»Ç¿£¬
1£¬½éÉÜÊý¾Ý¿âµ÷ÓÅÐèÒª¾³£»áÓõ½µÄ¹¤¾ß ......
execute immediate Óï·¨
ºóÃæ¸úÉÏsqlÓï¾ä¿ÉÒÔ¶¯Ì¬Ö´ÐÐsqlÓï¾ä.
ʹÓó¡¾°:
(1)¼ÓÈ붯̬±í.±ÈÈçÄãÓÐÒ»ÕűíµÄÃû×Ö²»Ã÷È·,ÊÇÐèÒªÅжϵõ½µÄ,Ôò¿ÉÒÔʹÓøÃÓï·¨À´Éú³ÉsqlÓï¾ä.
(2)¼ÓÈ붯̬×Ö¶Î.Äã¸ù¾ÝÅжÏ,×îÖÕ»á¼ÓÈëͬһÕűí,µ«ÊÇÕâÕűí¸ù¾Ý²»Í¬µÄÅжÏ×ֶλáÓÐËù²»Í¬,´ËʱÈç¹ûÖ±½ÓдsqlÊǼӲ»½øÈ¥µÄ,±ØÐëʹÓö¯Ì¬sqlÓï¾ä,ÈÃo ......
¼ÙÉèÈçÏÂÓ¦Óãº
Á½Õű헗Óû§±íTDefUser£¨userid£¬address,phone£©ºÍÏû·Ñ±íTAccConsume(userid,time,amount)£¬ÐèÒª²éÏû·Ñ³¬¹ý5000µÄÓû§¼Ç¼¡£
ÓÃexists:
select * from TDefUser
where exists (select 1 from TAccConsume where TDefUser.userid=TAccConsume.userid and TAccConsume.amount>5000)
ÓÃi ......
ÔÚÊý¾Ý¿â¿ª·¢¹ý³ÌÖУ¬µ±Äã¼ìË÷µÄÊý¾ÝÖ»ÊÇÒ»Ìõ¼Ç¼ʱ£¬ÄãËù±àдµÄÊÂÎñÓï¾ä´úÂëÍùÍùʹÓÃSELECT INSERT Óï¾ä¡£µ«ÊÇÎÒÃdz£³£»áÓöµ½ÕâÑùÇé¿ö£¬¼´´Óijһ½á¹û¼¯ÖÐÖðÒ»µØ¶ÁȡһÌõ¼Ç¼¡£ÄÇôÈçºÎ½â¾öÕâÖÖÎÊÌâÄØ£¿ÓαêΪÎÒÃÇÌṩÁËÒ»ÖÖ¼«ÎªÓÅÐãµÄ½â¾ö·½°¸¡£
1.1 ÓαêºÍÓαêµÄÓŵã
ÔÚÊý¾Ý¿ ......