ÉèΪÊ×Ò³ ¼ÓÈëÊÕ²Ø

TOP

SQL´óÊý¾ÝÓÅ»¯£¨Ï£©(Ò»)
2014-11-24 02:59:38 À´Ô´: ×÷Õß: ¡¾´ó ÖРС¡¿ ä¯ÀÀ:11´Î
Tags£ºSQL Êý¾Ý ÓÅ»¯
SQL´óÊý¾ÝÓÅ»¯£¨Ï£©
Ïà¹ØÁ´½Ó£º
SQL´óÊý¾ÝÓÅ»¯£¨ÉÏ£©
http://www.2cto.com/database/201205/133023.html
¼ÌÐøÖ®Ç°µÄSQLÊý¾ÝÓÅ»¯£¬ÔÚ ÉÏÆª¶ÔSQL²Ù×÷³£ÓõŤ¾ß½øÐнéÉÜ£¬±¾Æª´Ó¸öÈËÓÅ»¯ Êý¾Ý¿âµÄ¼¸µã½øÐÐÂÞÁУ¬Í¨¹ý´Ë·½·¨Ò»¶¨³Ì¶ÈµÄÌá¸ß´óÊý¾ÝÁ¿ÏµIJéѯ£¬Î¬»¤ÐÔÄÜ¡£
1¡¢ÉóºË´óÊý¾Ý±íµÄË÷Òý¡¢´æ´¢¹ý³Ì¡¢sqlÓï¾ä
´Ë·½Ê½ÊÇ»ù´¡ÐԵģ¬Öصãͨ¹ýÊý¾Ý±íµÄÂß¼­·ÖÎöºÍÐÔÄܹ¤¾ß£¬Ö´Ðмƻ®²é¿´ÊÇ·ñȱÉÙË÷Òý»òsqlÓï¾äÊéдµÄÏûºÄÐÔÄܽøÐÐÓÅ»¯£¬¶ÔÓÚ´æÔÚIOÆ¿¾±µÄÎÊÌ⣬¿ÉÒÔ³¢ÊÔ Ê¹Ó÷­Ò³´æ´¢¹ý³ÌµÈ·½·¨£¬ÔڵײãÉÏʵÏÖÊý¾ÝÓÅ»¯£¬Ö®Ç°Ò²ÓÐÎÄÕÂ˵Ã÷ÁËһЩ³£ÓÃsqlÓï¾äµÄÐÔÄܶԱȣ¬¾¡Á¿ÐÞ¸ÄÖ®¡£
2¡¢Êý¾Ý¿âÈÕÖ¾ÎļþѹËõ
Ò»¸öÊý¾Ý¿â°üº¬DataÎļþºÍLogÎļþ£¬¶ÔÓÚÒ»¸ö´ó¿â£¬Ï¸ÐĵÄÄãÓÐʱºò»á·¢ÏÖ£¬ÈÕÖ¾ÎļþÈç´ËÖ®´ó£¬ÎÒʹÓõÄÈÕÖ¾Îļþ´ïµ½18G£¬ÈÕÖ¾Îļþ¶ÔÓÚ·ÖÎöÊý¾Ý¿â²Ù×÷ºÍÀýÍâÇé¿öϵÄÊý¾Ý»Ö¸´¾ßÓйؼüµÄ×÷Ó㬵«ÕâôµÄÎļþ×îºÃµÄ·½·¨¾ÍÊǶ¨ÆÚ±¸·Ý£¬È»ºóÇå¿ÕÈÕÖ¾¡£ÔÚ²»Ó°ÏìÊý¾Ý¿âÕý³£Ê¹ÓõÄÇé¿öÏÂÇå¿ÕÈÕÖ¾·½·¨ÈçÏ£º
a¡¢Ö´ÐÐÈçÏÂÓï¾ä£ºDUMP TRANSACTION DBName WITH NOLOG
b¡¢ÓÒ¼üÊý¾Ý¿âÃû£¬Ñ¡Ôñ£ºÈÎÎñ-->ÊÕËõ--->Îļþ£¬Ñ¡ÔñÎļþÀàÐÍ£ºÈÕÖ¾£¬ÔÚÊÕËõ²Ù×÷ÖУ¬Ñ¡ÔñÊÍ·Å...,ÊäÈë0£¬µã»÷È·¶¨£¬ÔòÈÕÖ¾ÎļþÔò±»Çå¿Õ
ÈÕÖ¾ÎļþµÄÌ«´óÒ»·½Ãæ»á´óÁ¿Õ¼ÓÃÎļþ´ÅÅÌ£¬ÁíÍâÔÚ¶ÔÓ¦µÄÊý¾Ý²Ù×÷ÖУ¬Æµ·±µÄÈÕÖ¾¶ÁдҲһ¶¨³Ì¶ÈÉÏÓ°Ïì´ÅµÀµÄ¼ìË÷ËÙ¶È£¬Ó°ÏìÐÔÄÜ¡£
×¢£ºÈç¹ûÐèÒª±¸·ÝÈÕÖ¾µÄ£¬ÊµÏÖÓ¦¸ÃÏȱ¸·ÝÈÕÖ¾¡£


3¡¢²é¿´Êý¾Ý¿â¶ÔÓ¦ÔªÊý¾Ý£¬·ÖÎöË÷ÒýË鯬£¬ÕûÀíË÷ÒýË鯬
Ë÷Òý¾ÍÊÇÒ»¸ö×ÖµäĿ¼£¬±£´æ×Å¿ì½Ý·ÃÎʼǼµÄ·½Ê½¡£µ«ÓÉÓÚÊý¾ÝÊǶ¯Ì¬±ä»¯µÄ£¬²»Í£µÄÐ޸ģ¬É¾³ý£¬²åÈë¿ÉÄܵ¼ÖÂË÷Òý¶¯Ì¬±ä»¯£¬ÈÕ»ýÔÂÀÛ¾Í»á´æÔÚË÷ÒýË鯬£¬Õ⽫µ¼Ö ϵͳÔÚÖ´ÐжÔÓ¦²éѯ¼ìË÷¹ý³ÌÖУ¬ÒªÖ´ÐÐһЩ¶îÍâµÄ²Ù×÷Äܶ¨Î»µ½Ö¸¶¨µÄË÷Òý£¬×îºÃµÄ·½·¨¾ÍÊÇÒ»´ÎÐÔ¶¨Î»µ½Ë÷Òý£¬Òò´Ë¶¯Ì¬µÄÕûÀíË÷Òý£¬Çå³þË÷ÒýËéÆ¬Ò²ºÜ¹Ø¼ü¡£ÏÂÎÄ´úÂëϵͳ×Ô¶¯ÇåÀíµ±Ç°¿âÖУ¬Ë÷ÒýË鯬´óÓÚ12%µÄË÷Òý£¬²¢Öؽ¨¶ÔÓ¦Ë÷Òý¡£ www.2cto.com
ÏÈ¿´ÈçºÎ²é¿´Ë÷ÒýË鯬£º
DBCC SHOWCONTIG
½ÓÏÂÀ´×Ô¶¯ÇåÀíË÷ÒýË鯬´óÓÚ12%µÄË÷Òý²¢×Ô¶¯Öؽ¨£¬12%¿ÉÒÔ×ÔÉ趨¡£
use DBName --¶ÔÖ¸¶¨µÄÕû¸öÊý¾Ý¿âËùÓÐ±í½øÐÐÖØÐÂ×éÖ¯Ë÷Òý
set nocount on--ʹÓÃÓαêÖØÐÂ×éÖ¯Ö¸¶¨¿âÖеÄË÷Òý,Ïû³ýË÷ÒýË鯬--R_T²ãÓαêÈ¡³öµ±Ç°Êý¾Ý¿âËùÓбí
declare R_T CURSOR
for select name from sys.tables
declare @T varchar(50)
open r_t
fetch NEXT from r_t into @t
while @@fetch_status=0
begin--R_indexÓαêÅжÏÖ¸¶¨±íË÷ÒýË鯬Çé¿ö²¢ÓÅ»¯
declare R_Index CURSOR
for select t.name,i.name,s.avg_fragmentation_in_percent
from sys.tables t join sys.indexes i on i.object_id=t.object_id
join sys.dm_db_index_physical_stats(db_id(),object_id(@T),null,null,'limited') s
on s.object_id=i.object_id and s.index_id=i.index_id
declare @TName varchar(50),@IName varchar(100),@avg int,@str varchar(500)
open r_index
fetch next
from r_index into @TName,@Iname,@avg
while @@fetch_status=0 begin if @avg>=12 --Èç¹ûË鯬´óÓÚ12,ÖØ½¨Ë÷Òý
begin set @str='alter index '+rtrim(@Iname)+' on dbo.'+rtrim(@tname)+' rebuild' end else --Èç¹ûËéÆ¬Ð¡ÓÚ30,ÖØÐÂ×éÖ¯Ë÷Òý
begin set @STR='alter index '+rtrim(@Iname)+' on dbo.'+rtrim(@tname)+' reorganize' end print @str exec (@str) --Ö´ÐÐ
fetch next from r_index into @TName,@Iname,@avg
end--½áÊør_indexÓαê www.2cto.com
close r_index
deallocate r_index
fetch next from r_t into @t
end--½áÊøR_TÓαê
close r_t
deallocate r_t
set nocount off
¸½´øµÄÇåÀíͳ¼ÆÐÅÏ¢£¬ÊÊÇé¿öÒ²¿ÉÒÔÇåÀíһϣ¬Èç¹ûͳ¼ÆÐÅÏ¢ÓÐЧÔòÇåÀí»á×Ô¶¯Ìø¹ý
USE DBName
GO
EXEC sp_MSforeachtable @command1="print ' ' DBCC DBREINDEX (' ',' ',90)"
GO
EXEC sp_updatestats
Go
×¢:ÉÏÎÄÖеÄUse DBName£¬ÊÇʹÓöÔÓ¦µÄÊý¾Ý¿âÃû£¬Ê¹ÓÃʱעÒâÐ޸ġ£
Íê³ÉÈçÉϲÙ×÷ºó¿ÉÒÔÖØÆôÊý¾Ý¿â·þÎñ£¬¿´¿´Ð§¹û£¬ÒÔÉÏÓÅ»¯¿ÉÒÔÒ»¶¨³Ì¶ÈÉÏÌáÉýÐÔÄÜ¡£
4¡¢½¨Á¢·ÖÇø±íºÍ·ÖÇø¿â
Õâ¸öÔÚÇ¿¶ÈºÍÁ¦¶ÈÉ϶¼ÊÇЧ¹ûÏÔÖøµÄ£¬Ö®Ç°ÀϾõµÃ½¨Á¢·ÖÇø±íÊDz»ÊÇÐèÒªºÜ¶à¸´ÔӵIJÙ×÷£¬ÐèÒª½¨Á¢¶Ô³ÌÐòÒµÎñÊìϤµÈµÈ£¬ÆäʵsqlÒѾ­¸ø³öÁËÍêÉÆµÄ·½°¸¡£
´ÅÅÌ·ÖÇø±í¾ÍÊÇʵÏÖ±íµÄˮƽ·ÖÇø£¬½«Ò»¸öÊý¾Ý·Ö²¼ÔÚ¶à¸öÊý¾ÝʵÌåÎļþÖУ¬¼´.mdf ÎļþÖУ¬¿¼Âǵ½ÐÔÄÜÿ¸öÊý¾ÝÎļþ×îºÃÔÚ²»Í¬µÄÎïÀí´ÅÅÌÉÏ¡£¾ßÌå²Ù×÷²½ÖèÂÞÁÐÈçÏ£º
a¡¢´´½¨·ÖÇøº¯Êý£¬Ö÷ҪʹÓÃCREATE PARTITION FUNCTION XXX(parms)
b¡¢²é¿´·ÖÇøº¯ÊýÊÇ·ñ´´½¨³É¹¦ www.2cto.com
¡¡¡¡SELECT * FROM sys.partition_functions
c¡¢´´½¨·ÖÇø²ßÂÔ£¬CREATE PARTITION SCHEME SchemaForPartition
d¡¢²é¿´·ÖÇø²ßÂÔÊÇ·ñ´´½¨³É¹¦
¡¡¡¡SELECT * FROM sys.partition_schemes
e¡¢°Ñ·ÖÇø²ßÂԺͺ¯Êý¶¨Òåµ½Êý¾Ý±íÉÏ£¬ÊµÏÖ±í¹ØÁª¡£
d¡¢²âÊÔһϷÖÇøÇé¿öºÍÒª²éѯÊý¾ÝËùÔڵķÖÇø
¡¡¡¡SELECT * FROM SYS.PARTITIONS WHERE OBJECT_ID = OBJECT_ID('yourname')
ÈçÉÏ·ÖÇø±íÖ÷Òªº¯ÊýÃûÂÞÁУ¬¿ÉÒÔͨ¹ý´Ë·½·¨²é¿´°ïÖúÎĵµ£¬¿ÉÒÔϵ
Ê×Ò³ ÉÏÒ»Ò³ 1 2 ÏÂÒ»Ò³ βҳ 1/2/2
¡¾´ó ÖРС¡¿¡¾´òÓ¡¡¿ ¡¾·±Ìå¡¿¡¾Í¶¸å¡¿¡¾Êղء¿ ¡¾ÍƼö¡¿¡¾¾Ù±¨¡¿¡¾ÆÀÂÛ¡¿ ¡¾¹Ø±Õ¡¿ ¡¾·µ»Ø¶¥²¿¡¿
·ÖÏíµ½: 
ÉÏһƪ£ºsqlserver·Ö²¼Ê½²Ù×÷ ÏÂһƪ£ºSQL ServerÊÖ¹¤²åÈë±êʶÁÐ

ÆÀÂÛ

ÕÊ¡¡¡¡ºÅ: ÃÜÂë: (ÐÂÓû§×¢²á)
Ñé Ö¤ Âë:
±í¡¡¡¡Çé:
ÄÚ¡¡¡¡ÈÝ:

¡¤Linuxϵͳ¼ò½é (2025-12-25 21:55:25)
¡¤Linux°²×°MySQL¹ý³Ì (2025-12-25 21:55:22)
¡¤Linuxϵͳ°²×°½Ì³Ì£¨ (2025-12-25 21:55:20)
¡¤HTTP Åc HTTPS µÄ²î„ (2025-12-25 21:19:45)
¡¤ÍøÕ¾°²È«±ØÐ޿ΣºÍ¼ (2025-12-25 21:19:42)