select @d=getdate(),@s=getdate()
--第1步.重建索引清理碎片
declare @SqlStr1 nvarchar(max)

set @SqlStr1=''
select @SqlStr1=@SqlStr1++'alter index all on '+name+' rebuild;'
from sysobjects
where xtype='U' and (name like'T_%') and (name not like'TMP%')
exec (@SqlStr1);
print '第一步执行时长'+Convert(Nvarchar(50),Convert(decimal(18,2),ROUND(Convert(decimal(38,20),(datediff(ms,@d,getdate())))/60000,2)))+'分钟';
set @d=getdate();
--第2步.更新统计信息以利于SQL Server后台优化执行
declare @SqlStr2 nvarchar(max)
set @SqlStr2=''
select @SqlStr2=@SqlStr2++'UPDATE STATISTICS '+name+';'
from sysobjects
where xtype='U' and (name like'T_%') and(name not like'TMP%')
exec (@SqlStr2);
print '第二步执行时长'+Convert(Nvarchar(50),Convert(decimal(18,2),ROUND(Convert(decimal(38,20),(datediff(ms,@d,getdate())))/60000,2)))+'分钟';
set @d=getdate();
--第3步.压缩索引以提升IO性能(注意,这里并不是收缩数据库,而是压缩索引)。
declare @SqlStr3 nvarchar(max)
set @SqlStr3=''
select @SqlStr3= @SqlStr3+ + 'alter index all on '+name+ ' rebuild WITH (DATA_COMPRESSION =ROW);'
from sysobjects
where xtype='U' and (name like'T_%') and (name not like 'TMP%' )
exec (@SqlStr3);
print '第三步执行时长'+Convert(Nvarchar(50),Convert(decimal(18,2),ROUND(Convert(decimal(38,20),(datediff(ms,@d,getdate())))/60000,2)))+'分钟';
set @d=getdate();
--第4步.压缩数据表以提升IO性能(注意,这里并不是收缩数据库,而是压缩物理表)。
declare @SqlStr4 nvarchar(max)
set @SqlStr4=''
select @SqlStr4=@SqlStr4++'ALTER TABLE '+name+' rebuild WITH (DATA_COMPRESSION =ROW);'
from sysobjects
where xtype='U'and(name like'T_%')and(name not like'TMP%')
exec (@SqlStr4) ;
print '第四步执行时长'+Convert(Nvarchar(50),Convert(decimal(18,2),ROUND(Convert(decimal(38,20),(datediff(ms,@d,getdate())))/60000,2)))+'分钟';
--最后,一定记录本次执行以上四步优化的过程总耗时,做为后续设置SQL Server定时作业的重要参考。
print '全程总耗时'+Convert(Nvarchar(50),Convert(decimal(18,2),ROUND(Convert(decimal(38,20),(datediff(ms,@s,getdate())))/60000,2)))+'分钟';
关于郴州金蝶用友软件
主要负责郴州地区金蝶软件、用友软件、财务软件、OA办公自动化、进销存管理软件、HR人力资源系统、定制开发等,销售及服务工作
更多技术服务信息,请访问:http://www.0735kingdee.com或咨询我公司技术服务QQ:380911664
郴州金斗云科技有限公司
如需上门服务请联系我公司技术服务QQ:380911664或电话咨询:13319678383