SQL Server 2000£«ADO.NETʵÏÖ²¢·¢¿ØÖÆ ×ªÔØ
³£¼û²¢·¢²¢·¢Ò»ÖÂÐÔÎÊÌâ°üÀ¨£º¶ªÊ§µÄÐ޸ġ¢²»¿ÉÖØ¸´¶Á¡¢¶ÁÔàÊý¾Ý¡¢»ÃÓ°¶Á£¨»ÃÓ°¶ÁÔÚһЩ×ÊÁÏÖÐÍùÍùÓë²»¿ÉÖØ¸´¶Á¹éΪһÀࣩ¡£
2.2.1.1 ¶ªÊ§ÐÞ¸Ä
ÏÂÃæÎÒÃÇÏÈÀ´¿´Ò»¸öÀý×Ó£¬ËµÃ÷²¢·¢²Ù×÷´øÀ´µÄÊý¾ÝµÄ²»Ò»ÖÂÐÔÎÊÌâ¡£
¿¼ÂÇ·É»ú¶©Æ±ÏµÍ³ÖеÄÒ»¸ö»î¶¯ÐòÁÐ:
¼×ÊÛÆ±µã£¨¼×ÊÂÎñ£©¶Á³öijº½°àµÄ»úƱÓà¶îA,ÉèA=16.
ÒÒÊÛÆ±µã£¨ÒÒÊÂÎñ£©¶Á³öͬһº½°àµÄ»úƱÓà¶îA,ҲΪ16.
¼×ÊÛÆ±µãÂô³öÒ»ÕÅ»úƱ,ÐÞ¸ÄÓà¶îA←A-1.ËùÒÔAΪ15,°ÑAд»ØÊý¾Ý¿â.
ÒÒÊÛÆ±µãÒ²Âô³öÒ»ÕÅ»úƱ,ÐÞ¸ÄÓà¶îA←A-1.ËùÒÔAΪ15,°ÑAд»ØÊý¾Ý¿â.
½á¹ûÃ÷Ã÷Âô³öÁ½ÕÅ»úƱ£¬Êý¾Ý¿âÖлúƱÓà¶îÖ»¼õÉÙ1¡£
¹éÄÉÆðÀ´¾ÍÊÇ£ºÁ½¸öÊÂÎñT1ºÍT2¶ÁÈëͬһÊý¾Ý²¢Ð޸ģ¬T2Ìá½»µÄ½á¹ûÆÆ»µÁËT1Ìá½»µÄ½á¹û£¬µ¼ÖÂT1µÄÐ޸ı»¶ªÊ§¡£Ç°ÎÄ£¨2.1.4Êý¾Ýɾ³ýÓë¸üУ©ÖÐÌáµ½µÄÎÊÌâ¼°½â¾ö°ì·¨ÍùÍùÊÇÕë¶Ô´ËÀಢ·¢ÎÊÌâµÄ¡£µ«ÈÔÈ»Óм¸ÀàÎÊÌâͨ¹ýÉÏÃæµÄ·½·¨½â¾ö²»ÁË£¬ÄǾÍÊÇ£º
2.2.1.2 ²»¿ÉÖØ¸´¶Á
²»¿ÉÖØ¸´¶ÁÊÇÖ¸ÊÂÎñT1¶ÁÈ¡Êý¾Ýºó£¬ÊÂÎñT2Ö´ÐиüвÙ×÷£¬Ê¹T1ÎÞ·¨ÔÙÏÖǰһ´Î¶ÁÈ¡½á¹û¡£¾ßÌ嵨½²£¬²»¿ÉÖØ¸´¶Á°üÀ¨ÈýÖÖÇé¿ö£º
ÊÂÎñT1¶ÁȡijһÊý¾Ýºó£¬ÊÂÎñT2¶ÔÆä×öÁËÐ޸쬵±ÊÂÎñ1ÔٴζÁ¸ÃÊý¾Ýʱ£¬µÃµ½Óëǰһ´Î²»Í¬µÄÖµ¡£ÀýÈ磬T1¶ÁÈ¡B=100½øÐÐÔËË㣬T2¶ÁȡͬһÊý¾ÝB£¬¶ÔÆä½øÐÐÐ޸ĺó½«B=200д»ØÊý¾Ý¿â¡£T1ΪÁ˶ԶÁȡֵУ¶ÔÖØ¶ÁB£¬BÒÑΪ200£¬ÓëµÚÒ»´Î¶Áȡֵ²»Ò»Ö¡£
ÊÂÎñT1°´Ò»¶¨Ìõ¼þ´ÓÊý¾Ý¿âÖжÁÈ¡ÁËijЩÊý¾Ý¼Ç¼ºó£¬ÊÂÎñT2ɾ³ýÁËÆäÖв¿·Ö¼Ç¼£¬µ±T1Ôٴΰ´ÏàͬÌõ¼þ¶ÁÈ¡Êý¾Ýʱ£¬·¢ÏÖijЩ¼Ç¼ÉñÃܵØÏûʧÁË¡£
ÊÂÎñT1°´Ò»¶¨Ìõ¼þ´ÓÊý¾Ý¿âÖжÁȡijЩÊý¾Ý¼Ç¼ºó£¬ÊÂÎñT2²åÈëÁËһЩ¼Ç¼£¬µ±T1Ôٴΰ´ÏàͬÌõ¼þ¶ÁÈ¡Êý¾Ýʱ£¬·¢ÏÖ¶àÁËһЩ¼Ç¼¡££¨ÕâÒ²½Ð×ö»ÃÓ°¶Á£©
2.2.1.3 ¶Á"Ôà"Êý¾Ý
¶Á"Ôà"Êý¾ÝÊÇÖ¸ÊÂÎñT1ÐÞ¸ÄijһÊý¾Ý£¬²¢½«Æäд»Ø´ÅÅÌ£¬ÊÂÎñT2¶ÁȡͬһÊý¾Ýºó£¬T1ÓÉÓÚijÖÖÔÒò±»³·Ïû£¬ÕâʱT1ÒÑÐ޸ĹýµÄÊý¾Ý»Ö¸´ÔÖµ£¬T2¶Áµ½µÄÊý¾Ý¾ÍÓëÊý¾Ý¿âÖеÄÊý¾Ý²»Ò»Ö£¬ÔòT2¶Áµ½µÄÊý¾Ý¾ÍΪ"Ôà"Êý¾Ý£¬¼´²»ÕýÈ·µÄÊý¾Ý¡£
²úÉúÉÏÊöÈýÀàÊý¾Ý²»Ò»ÖÂÐÔµÄÖ÷ÒªÔÒòÊDz¢·¢²Ù×÷ÆÆ»µÁËÊÂÎñµÄ¸ôÀëÐÔ¡£²¢·¢¿ØÖƾÍÊÇÒªÓÃÕýÈ·µÄ·½Ê½µ÷¶È²¢·¢²Ù×÷£¬Ê¹Ò»¸öÓû§ÊÂÎñµÄÖ´Ðв»ÊÜÆäËüÊÂÎñµÄ¸ÉÈÅ£¬´Ó¶ø±ÜÃâÔì³ÉÊý¾ÝµÄ²»Ò»ÖÂÐÔ¡£
2.2.2 ²¢·¢Ò»ÖÂÐÔÎÊÌâµÄ½â¾ö°ì·¨
2.2.2.1 ·âËø£¨Locking£©
·âËøÊÇʵÏÖ²¢·¢¿ØÖƵÄÒ»¸ö·Ç³£ÖØÒªµÄ¼¼Êõ¡£Ëùν·âËø¾ÍÊÇÊÂÎñTÔÚ¶Ôij¸öÊý¾Ý¶ÔÏóÀýÈç±í¡¢¼Ç¼µÈ²Ù×÷֮ǰ£¬ÏÈÏòϵͳ·¢³öÇëÇó£¬¶ÔÆä¼ÓËø¡£¼ÓËøºóÊÂÎñT¾Í¶Ô¸
Ïà¹ØÎĵµ£º
ÔÚ´æ´¢¹ý³ÌÖÐʹÓÃÊÂÎñ£¬ÒÔÏÂΪģ°å£º
CREATE PROCEDURE testPro
AS
/**//* ------- ÊÂÎñ¿ªÊ¼---------- */
BEGIN TRANSACTION tran_test
/**//* -------- ±£´æÊÂÎñ----------*/
SAVE TRANSACTION tran_test
/**//* -------- Êý¾Ý²Ù×÷---------*/
INSERT [table1] ( [content] ) VALUES ( '43332' )
/**//*---- ......
ÎÊÌâµÄÌá³ö£º
ÏÖÓбíA£¬ÄÚÈÝÈçÏ£º
±àÂë ²Ö¿â ÊýÁ¿
01 A 6
01 B 7
02 A & ......
--¼ì²âCPUѹÁ¦µÄÒ»¸ö·½·¨ÊǼÆËãÔËÐÐ״̬ÏµĹ¤×÷½ø³ÌÊýÁ¿£¬
--ͨ¹ýÖ´ÐÐÈçϵÄDMV²éѯ¿ÉÒԵõ½Õâ¸öÐÅÏ¢
SELECT COUNT(*) AS workers_waiting_for_cpu,t2.scheduler_id
from sys.dm_os_workers AS t1, sys.dm_os_schedulers AS t2
WHERE t1.state='RUNNABLE' AND
t1.scheduler_address = t2.scheduler_address A ......
1¡¢ÔÚ°²×°ÓÐSQL SERVER 2000µÄµçÄÔÉÏ´ò¿ª“ʼþ̽²éÆ÷”£¬²Ù×÷Èçͼ£º
2¡¢Ôړʼþ̽²éÆ÷”ÖÐн¨Ò»¸ö¸ú×Ù£ºÎļþ/н¨/¸ú×Ù
3¡¢ÊäÈëÁ¬½Ó·þÎñÆ÷µÄÃØÃÜ£¬×¢ÒâÊÇU8µÄÊý¾Ý·þÎñÆ÷£¬¿ÉÒÔ¸ù¾Ýʵ¼ÊÐÞ¸ÄIPµØÖ·¡£
4¡¢¸ü¸Ä¹ýÂËÉèÖ㺿ÉÒÔÔÚ¡¾Îļþ/ÊôÐÔ¡¿´ò¿ªÕâ¸ö¶Ô»°¿ò£¬µ«ÊÇÒª¸ü¸Ä£¬Ê× ......