Ò׽ؽØͼÈí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

ÔÚSQL Server tempdbÂúʱ¼ì²éÊý¾ÝÎļþ

×÷ΪһÃûÊý¾Ý¿âDBA£¬¿Ï¶¨»áÌý˵¹ý“tempdbÊý¾Ý¿âÂúÁË”¡£Í¨³£ÎÒÃǺÜÈÝÒ×È·¶¨Ôì³ÉÕâÒ»ÎÊÌâµÄÔ­Òò¡£µ«ÊǸü¶àµÄʱºòÕâÒ»ÎÊÌâÖ÷ÒªÔ´ÓÚÒ»×éÇëÇó£¬Éæ¼°µ½Ð´úÂ벿Êð»òÖð½¥Ôö¼ÓµÄÊý¾Ý¡£
¡¡¡¡“TempdbÂúÁË”Òâζ×Åʲô?
¡¡¡¡µ±SQL Server tempdbÂúÁËʱ£¬Éϲã¹ÜÀí³£³£ÐèÒª¾ö²ß¡¢Ò»Ð©¿ª·¢ÈËÔ±¿ÉÄÜ»áÍÆжÔðÈΣ¬¾ÍÁ¬¸ß¼¶DBAÒ²º¦ÅÂÅöµ½ÕâÖÖÇé¿ö¡£
¡¡¡¡ºÍÎÒ¸æËß¹ÜÀíÔ±µÄÒ»Ñù£¬Ê×ÏȾ­ÑéµÄ×ö·¨¾ÍÊÇ£º±£³ÖÀä¾²¡£²»ÒªÈû¹Ã»Óй«²¼µÄÇé¿ö¸øÆäËû·½ÃæÔì³ÉѹÁ¦£¬ÄÇÑù¿ÉÄÜÄð³É¸ü´óµÄ´íÎó¡£
¡¡¡¡¼ÈÈ»Çé¿öÒѾ­³öÏÖÁË£¬ÄÇÎÒÃǾÍÀ´½â¾öÎÊÌâ¡£TempdbÊý¾Ý¿âÓÉÁ½²¿·Ö×é³É£ºÒ»ÊÇԭʼÎļþ×éÀïµÄÊý¾ÝÎļþ£¬¶þÊÇtempdbÈÕÖ¾Îļþ¡£ÕâÁ½Õ߶¼¿ÉÄܳö´í£¬µ«´íÎóÐÅÏ¢»á¸æËßÄãÄÄÒ»²¿·ÖÂúÁË¡£Ê×ÏÈÎÒÃÇÒ»Æð¿´¿´Êý¾ÝÎļþ²¿·Ö¡£ÔÚÒÔºóµÄÎÄÕ²¿·ÖÖÐÔÙ½²½âÈÕÖ¾Îļþ¡£
¡¡¡¡ÎÒÃÇÔõôѹËõÔ´Îļþ?
¡¡¡¡Ê×ÏÈÎÒÃÇÒªÁ˽âÒ»ÏÂÈ·¶¨ÊÇʲôռÓô󲿷ֿռäµÄ·½·¨£¬ÄÄÒ»¸ö·þÎñÆ÷ÓÐÎÒÃÇ´¦ÀíµÄIDºÅ(SPID)¡¢ÇëÇóÊÇ´ÓÄÄһ̨Ö÷»úÉÏ·¢³öµÄ¡£ÒÔϲéѯ½«·µ»ØÊý¾Ý¿âÀïÕ¼¿Õ¼äµÄÇ°1000¸öSPID¡£¼ÇסÕâЩ·µ»ØµÄֵΪҳÂëÊý¡£Îª´Ë£¬ÎÒËãÁËһϴ洢ֵ(µ¥Î»ÎªMB)¡£Í¬Ñù£¬ÎÒÃÇ»¹Òª×¢Òâ¼ÆÊýÆ÷ÊÇËæ×ÅSPIDµÄʹÓÃʱ¼ä¶øÖð½¥»ýÀ۵ģº
¡¡¡¡SELECT top 1000
¡¡¡¡s.host_name, su.[session_id], d.name [DBName], su.[database_id],
¡¡¡¡su.[user_objects_alloc_page_count] [Usr_Pg_Alloc], su.[user_objects_dealloc_page_count] [Usr_Pg_DeAlloc],
¡¡¡¡su.[internal_objects_alloc_page_count] [Int_Pg_Alloc], su.[internal_objects_dealloc_page_count] [Int_Pg_DeAlloc],
¡¡¡¡(su.[user_objects_alloc_page_count]*1.0/128) [Usr_Alloc_MB], (su.[user_objects_dealloc_page_count]*1.0/128)
¡¡¡¡[Usr_DeAlloc_MB],
¡¡¡¡(su.[internal_objects_alloc_page_count]*1.0/128) [Int_Alloc_MB], (su.[inte
¡¡¡¡rnal_objects_dealloc_page_count]*1.0/128)
¡¡¡¡[Int_DeAlloc_MB]
¡¡¡¡from [sys].[dm_db_session_space_usage] su
¡¡¡¡inner join sys.databases d on su.database_id = d.database_id
¡¡¡¡inner join sys.dm_exec_sessions s on su.session_id = s.session_id
¡¡¡¡where (su.user_objects_alloc_page_count > 0 or
¡¡¡¡su.internal_objects_alloc_page_count > 0)
¡¡¡¡order by case when su.user_objects_alloc_page_count > su.internal_objects_
¡¡¡¡alloc_page_count then


Ïà¹ØÎĵµ£º

SQL Server 2005 Express Edition ɵ¹Ïʽ°²×°

      ÓÉÓÚ×î½üÒªÓõ½´ò°üSQL Server 2005 Express Edition £¬ÓÉÓÚÔÚ°²×°¹ý³ÌÖÐÐèÒªÉèÖúܶණÎ÷¡£´øÀ´ºÜ¶àµÄ²»±ã£¬ÓÚÊÇÔÚÍøÉϺÍMSDNÕÒÁ˺þÃÖÕÓÚÕÒµ½°ì·¨ÁË ^_^
ÎÒÓõÄÊÇÅú´¦ÀíÀ´ÊµÏֵģ¬ºÃÁËÖ±½ÓÌù´úÂë
CLS  
@ECHO OFF  
ECHO.     
ECH ......

sqlÖÐinºÍexistÓï¾äµÄÇø±ð

IN
È·¶¨¸ø¶¨µÄÖµÊÇ·ñÓë×Ó²éѯ»òÁбíÖеÄÖµÏàÆ¥Åä¡£
EXISTS
Ö¸¶¨Ò»¸ö×Ó²éѯ£¬¼ì²âÐеĴæÔÚ¡£
±È½ÏʹÓà EXISTS ºÍ IN µÄ²éѯ
Õâ¸öÀý×ӱȽÏÁËÁ½¸öÓïÒåÀàËƵIJéѯ¡£µÚÒ»¸ö²éѯʹÓà EXISTS ¶øµÚ¶þ¸ö²éѯʹÓà IN¡£×¢ÒâÁ½¸ö²éѯ·µ»ØÏàͬµÄÐÅÏ¢¡£
USE pubs
GO
SELECT DISTINCT pub_name
from publishers
WHERE ......

ÈçºÎ¼ÆËãMS SQLÓï¾äÖ´ÐеÄʱ¼ä»¹ÓÐc#


MSSQL:
declare @begin datetime
declare @End datetime
set @begin=getdate()
   --Ö´ÐеÄÓï¾äдÔÚÕâÀï
set @End=getdate()
select datediff(millisecond,@begin,@End) as Ö´ÐеÄʱ¼ä
--millisecond±íʾºÁÃë Èç¹û¿´Ãë¿ÉÒÔʹÓÃss
C#:
ºÜ¶àʱº ......

ÀûÓö¯Ì¬¹ÜÀíÊÓͼÌá¸ßSQL ServerË÷ÒýЧÂÊ

¡¡¾ÍÈçͬÊý¾Ý¿âDBAÁ˽âµÄÒ»Ñù£¬ºÏÊʵÄË÷ÒýÄܹ»Ìá¸ß²éѯÐÔÄܺÍÓ¦ÓóÌÐò¿É²âÁ¿ÐÔ¡£µ«ÊÇÿ¸ö¸½¼ÓµÄË÷Òý£¬¶¼¸øϵͳÔö¼ÓÁ˶îÍ⿪Ïú£¬ÒòΪËæ×ÅÊý¾Ý´Ó±íºÍÊÓͼÖ⻶ÏÔö¼Ó¡¢Ð޸ĻòÇå³ý£¬SQL ServerÐèҪά»¤ÕâЩË÷Òý¡£
¡¡¡¡Ö®Ç°£¬ÎÒ½éÉÜÁËһ϶¯Ì¬¹ÜÀíÊÓͼ(DMV)¡£ËüÊÇÒ»ÖÖºÜÓÐÓõļà¿ØºÍ½â¾öSQL Server¹ÊÕϵŤ¾ß¡£±¾ÎÄÊÇËüµÄÐøƪ£¬ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ