|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存。如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录。在利用SQLServer过程当中人人常常会碰着数据库日记十分年夜的情形,在碰到这类成绩的时分,我们给人人先容了两种处置办法来办理。
办法一
一样平常情形下,SQL数据库的压缩其实不能很年夜水平上减小数据库巨细,其次要感化是压缩日记巨细,应该按期举行此操纵以避免数据库日记过年夜
1、设置数据库形式为复杂形式:翻开SQL企业办理器,在把持台根目次中顺次点开MicrosoftSQLServer-->SQLServer组-->双击翻开你的服务器-->双击翻开数据库目次-->选择你的数据库称号(如论坛数据库Forum)-->然后点击右键选择属性-->选择选项-->在妨碍复原的形式当选择“复杂”,然后按断定保留
2、在以后数据库上点右键,看一切义务中的压缩数据库,一样平常内里的默许设置不必调剂,间接点断定
3、压缩数据库完成后,倡议将您的数据库属性从头设置为尺度形式,操纵办法同第一点,由于日记在一些非常情形下常常是恢单数据库的主要根据
办法二
SETNOCOUNTON
DECLARE@LogicalFileNamesysname,
@MaxMinutesINT,
@NewSizeINT
USEtablename--要操纵的数据库名
SELECT@LogicalFileName=tablename_log,--日记文件名
@MaxMinutes=10,--Limitontimeallowedtowraplog.
@NewSize=1--你想设定的日记文件的巨细(M)
--Setup/initialize
DECLARE@OriginalSizeint
SELECT@OriginalSize=size
FROMsysfiles
WHEREname=@LogicalFileName
SELECTOriginalSizeof+db_name()+LOGis+
CONVERT(VARCHAR(30),@OriginalSize)+8Kpagesor+
CONVERT(VARCHAR(30),(@OriginalSize*8/1024))+MB
FROMsysfiles
WHEREname=@LogicalFileName
CREATETABLEDummyTrans
(DummyColumnchar(8000)notnull)
DECLARE@CounterINT,
@StartTimeDATETIME,
@TruncLogVARCHAR(255)
SELECT@StartTime=GETDATE(),
@TruncLog=BACKUPLOG+db_name()+WITHTRUNCATE_ONLY
DBCCSHRINKFILE(@LogicalFileName,@NewSize)
EXEC(@TruncLog)
--Wrapthelogifnecessary.
WHILE@MaxMinutes>DATEDIFF(mi,@StartTime,GETDATE())--timehasnotexpired
AND@OriginalSize=(SELECTsizeFROMsysfilesWHEREname=@LogicalFileName)
AND(@OriginalSize*8/1024)>@NewSize
BEGIN--Outerloop.
SELECT@Counter=0
WHILE((@Counter<@OriginalSize/16)AND(@Counter<50000))
BEGIN--update
INSERTDummyTransVALUES(FillLog)
DELETEDummyTrans
SELECT@Counter=@Counter+1
END
EXEC(@TruncLog)
END
SELECTFinalSizeof+db_name()+LOGis+
CONVERT(VARCHAR(30),size)+8Kpagesor+
CONVERT(VARCHAR(30),(size*8/1024))+MB
FROMsysfiles
WHEREname=@LogicalFileName
DROPTABLEDummyTrans
SETNOCOUNTOFF
客户还是可以使用DBaaS系统所能提供的所有能力。数据库云服务消除了组织对专职人员、本地数据库存储设备的需要。他们不必安装、配置和维护任何软硬件。 |
|