SQL SERVER ÖÐÈçºÎʹÓÃÐÐËø
¸øÄã¸ö×îÏêϸµÄ°É ¿ÉÄÜÓÐÄãÒªµÄÄÚÈÝ
ËøµÄ¸ÅÊö
Ò». ΪʲôҪÒýÈëËø
¶à¸öÓû§Í¬Ê±¶ÔÊý¾Ý¿âµÄ²¢·¢²Ù×÷ʱ»á´øÀ´ÒÔÏÂÊý¾Ý²»Ò»ÖµÄÎÊÌâ:
¶ªÊ§¸üÐÂ
A,BÁ½¸öÓû§¶ÁͬһÊý¾Ý²¢½øÐÐÐÞ¸Ä,ÆäÖÐÒ»¸öÓû§µÄÐ޸Ľá¹ûÆÆ»µÁËÁíÒ»¸öÐ޸ĵĽá¹û,±ÈÈ綩Ʊϵͳ
Ôà¶Á
AÓû§ÐÞ¸ÄÁËÊý¾Ý,ËæºóBÓû§ÓÖ¶Á³ö¸ÃÊý¾Ý,µ«AÓû§ÒòΪijЩÔÒòÈ¡ÏûÁ˶ÔÊý¾ÝµÄÐÞ¸Ä,Êý¾Ý»Ö¸´ÔÖµ,´ËʱBµÃµ½µÄÊý¾Ý¾ÍÓëÊý¾Ý¿âÄÚµÄÊý¾Ý²úÉúÁ˲»Ò»ÖÂ
²»¿ÉÖØ¸´¶Á
AÓû§¶ÁÈ¡Êý¾Ý,ËæºóBÓû§¶Á³ö¸ÃÊý¾Ý²¢ÐÞ¸Ä,´ËʱAÓû§ÔÙ¶ÁÈ¡Êý¾Ýʱ·¢ÏÖǰºóÁ½´ÎµÄÖµ²»Ò»ÖÂ
²¢·¢¿ØÖƵÄÖ÷Òª·½·¨ÊÇ·âËø,Ëø¾ÍÊÇÔÚÒ»¶Îʱ¼äÄÚ½ûÖ¹Óû§×öijЩ²Ù×÷ÒÔ±ÜÃâ²úÉúÊý¾Ý²»Ò»ÖÂ
¶þ ËøµÄ·ÖÀà
ËøµÄÀà±ðÓÐÁ½ÖÖ·Ö·¨£º
1. ´ÓÊý¾Ý¿âϵͳµÄ½Ç¶ÈÀ´¿´£º·ÖΪ¶ÀÕ¼Ëø£¨¼´ÅÅËüËø£©£¬¹²ÏíËøºÍ¸üÐÂËø
MS-SQL Server ʹÓÃÒÔÏÂ×ÊÔ´ËøÄ£Ê½¡£
ËøÄ£Ê½ ÃèÊö
¹²Ïí (S) ÓÃÓÚ²»¸ü¸Ä»ò²»¸üÐÂÊý¾ÝµÄ²Ù×÷£¨Ö»¶Á²Ù×÷£©£¬Èç SELECT Óï¾ä¡£
¸üР(U) ÓÃÓڿɸüеÄ×ÊÔ´ÖС£·ÀÖ¹µ±¶à¸ö»á»°ÔÚ¶ÁÈ¡¡¢Ëø¶¨ÒÔ¼°Ëæºó¿ÉÄܽøÐеÄ×ÊÔ´¸üÐÂʱ·¢Éú³£¼ûÐÎʽµÄËÀËø¡£
ÅÅËü (X) ÓÃÓÚÊý¾ÝÐ޸IJÙ×÷£¬ÀýÈç INSERT¡¢UPDATE »ò DELETE¡£È·±£²»»áͬʱͬһ×ÊÔ´½øÐжàÖØ¸üС£
ÒâÏòËø ÓÃÓÚ½¨Á¢ËøµÄ²ã´Î½á¹¹¡£ÒâÏòËøµÄÀàÐÍΪ£ºÒâÏò¹²Ïí (IS)¡¢ÒâÏòÅÅËü (IX) ÒÔ¼°ÓëÒâÏòÅÅËü¹²Ïí (SIX)¡£
¼Ü¹¹Ëø ÔÚÖ´ÐÐÒÀÀµÓÚ±í¼Ü¹¹µÄ²Ù×÷ʱʹÓ᣼ܹ¹ËøµÄÀàÐÍΪ£º¼Ü¹¹ÐÞ¸Ä (Sch-M) ºÍ¼Ü¹¹Îȶ¨ÐÔ (Sch-S)¡£
´óÈÝÁ¿¸üР(BU) Ïò±íÖдóÈÝÁ¿¸´ÖÆÊý¾Ý²¢Ö¸¶¨ÁË TABLOCK ÌáʾʱʹÓá£
¹²ÏíËø
¹²Ïí (S) ËøÔÊÐí²¢·¢ÊÂÎñ¶ÁÈ¡ (SELECT) Ò»¸ö×ÊÔ´¡£×ÊÔ´ÉÏ´æÔÚ¹²Ïí (S) ËøÊ±£¬ÈÎºÎÆäËüÊÂÎñ¶¼²»ÄÜÐÞ¸ÄÊý¾Ý¡£Ò»µ©ÒѾ¶ÁÈ¡Êý¾Ý£¬±ãÁ¢¼´ÊÍ·Å×ÊÔ´ÉϵĹ²Ïí (S) Ëø£¬³ý·Ç½«ÊÂÎñ¸ôÀë¼¶±ðÉèÖÃΪ¿ÉÖØ¸´¶Á»ò¸ü¸ß¼¶±ð£¬»òÕßÔÚÊÂÎñÉú´æÖÜÆÚÄÚÓÃËø¶¨Ìáʾ±£Áô¹²Ïí (S) Ëø¡£
¸üÐÂËø
¸üР(U) Ëø¿ÉÒÔ·Àֹͨ³£ÐÎʽµÄËÀËø¡£Ò»°ã¸üÐÂģʽÓÉÒ»¸öÊÂÎñ×é³É£¬´ËÊÂÎñ¶ÁÈ¡¼Ç¼£¬»ñÈ¡×ÊÔ´£¨Ò³»òÐУ©µÄ¹²Ïí (S) Ëø£¬È»ºóÐÞ¸ÄÐУ¬´Ë²Ù×÷ÒªÇóËø×ª»»ÎªÅÅËü (X) Ëø¡£Èç¹ûÁ½¸öÊÂÎñ»ñµÃÁË×ÊÔ´ÉϵĹ²ÏíÄ£Ê½Ëø£¬È»ºóÊÔͼͬʱ¸üÐÂÊý¾Ý£¬ÔòÒ»¸öÊÂÎñ³¢ÊÔ½«Ëø×ª»»ÎªÅÅËü (X) Ëø¡£¹²Ïíģʽµ½ÅÅËüËøµÄת»»±ØÐëµÈ´ýÒ»¶Îʱ¼ä£¬ÒòΪһ¸öÊÂÎñµÄÅÅËüËøÓëÆäËüÊÂÎñµÄ¹²ÏíÄ£Ê½Ëø²»¼æÈÝ£»·¢ÉúËøµÈ´ý¡£µÚ¶þ¸öÊÂÎñÊÔͼ»ñÈ¡ÅÅËü (X) ËøÒÔ½øÐиüС£ÓÉÓÚÁ½¸öÊÂÎñ¶¼Òª×ª»»ÎªÅÅËü (X) Ëø£¬²¢ÇÒÿ¸öÊÂÎñ¶¼µÈ´ýÁíÒ»¸öÊÂÎñÊͷʲÏíÄ£Ê½Ëø£¬Òò´Ë·¢ÉúËÀ
Ïà¹ØÎĵµ£º
alert index mem_ct monitoring usage;
desc v$object_usage;
set linesize 190
select * from v$object_usage;
SQL>SET AUTOTRACE ON;
¡¡¡¡*autotrace¹¦ÄÜÖ»ÄÜÔÚSQL*PLUSÀïʹÓÃ
¡¡¡¡ÆäËûһЩʹÓ÷½·¨£º
¡¡¡¡2.2.1¡¢ÔÚSQLPLUSÖеõ½Óï¾ä×ܵÄÖ´ÐÐʱ¼ä
¡¡¡¡SQL> set timing on;
2.2.2¡¢Ö»ÏÔʾִÐмƻ®--(»áÍ¬Ê ......
1¡¢²éѯÁ½¸öʱ¼äÖ®¼ä
select * from [tablename] where date between \'value1\' and \'value2\'
2¡¢ÏÔʾ×îºó»Ø¸´Ê±¼ä
select a.title,a.username,b.adddate from table a,(select max(adddate) adddate from table where table.title=a.title) b
3¡¢Èճ̰²ÅÅÌáǰ5·ÖÖÓÌáÐÑ
select * from Èճ̰²ÅÅ w ......
ÈçºÎÅжÏ×Ö¶ÎÊÇ·ñ´æÔÚ
if col_length('±íÃû','×Ö¶Î1') is null ALTER TABLE ±íÃû ADD ×Ö¶Î1 Nvarchar(50) if col_length('±íÃû','×Ö¶Î2') is null ALTER TABLE ±íÃû ADD ×Ö¶Î2 Nvarchar(50) ");
ɾ³ý×Ö¶Î
if col_length('±íÃû','×Ö¶Î1,') is not null ALTER TABLE ±íÃû drop c ......
·½·¨(1)
SELECT stuff((select ','+ltrim(ColumnName) from #A for xml path('')
),1,1,'')
/*
102,103,104,105
*/
·½·¨(2)
DECLARE @s NVARCHAR(1000)='';
SELECT @s+=ColumnName+',' from #A;
SELECT @s; ......
TEMPDB²»Ö§³Ö×Ô¶¯Ñ¹Ëõ£¬ÇÒËüµÄÊý¾Ý¿âºÍÎļþѹËõÄÜÁ¦ÊÇÓÐÏÞÖÆµÄ£»
Èç²»µÃ²»Ñ¹ËõTEMPDBµÄ´óС£¬½¨ÒéʹÓÃÀëÏß¹¦ÄÜ£¬ÈçϲÙ×÷£º
1.Í£Ö¹SQL SERVER·þÎñ£»
2.ÕÒµ½sqlservr.exeÔÚ´ÅÅÌÖеÄλÖã»
3.ʹÓÃsqlservr.exeÊäÈëÃüÁîsqlservr -c -f,ÕâÑùÆô¶¯SQL SERVERʱ£¬TEMPDBµÄ´óСÄܹ»±£³Ö×îС£»
4.ʹÓÃTSQLÃüÁALTER DATA ......