|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
你可以配置MySQL运行在微小的嵌入式应用程序中,处理的数据可能不足1Mb??而你也可以用它来处理数Tb的数据。MySQL获得这种可扩展性的路径之一是通过一个人们所熟知的存储过程,这是一个运行在程序之外的微型、预编译程序。数据|数据库|索引
--
--ArrangeDB.SQL重整数据库
--
--CopyRights@2003.12.29DigitalChinaManagementSystemCo.,Ltd.
--
--重整流程:把一切用户表增添clustered索引,如许SQL SERVER会重整表,然后
-- 再删除索引
--
--利用机会:一样平常保护,倡议每周做一次重整。
--
--注重事项:做完后请做数据库压缩,更新统计,从头索引,及完全性反省
--droptable#dcms_index_info
--要用到的一时表
createtable#dcms_index_info
(
index_namesysname,
index_descriptionvarchar(210),
index_keysvarchar(2078)
)
--设置情况
setNOCOUNTON
--程序入手下手:变量
declare@sqlvarchar(500)
declare@TableNamevarchar(20)
declare@ErrorSaveint
--用一切的用户表处置
declareCursor1Cursor
for
selectnamefromsysobjectswherextype=Uorderbyname
openCursor1
fetchnextfromCursor1into@TableName
while@@fetch_status=0
begin
--为了检测表中是否是有CREATE_DATE这个列,易飞的表中都有,假如没有就跳过,不外处置
--应当另有更好的办法,我临时如许用了。不想用sp_columns由于不想建表,慢就慢点吧
ifCOLUMNPROPERTY(OBJECT_ID(@TableName),CREATE_DATE,PRECISION)isnotnull
begin
printprocesstable+@TableName
--获得以后表的索引信息
delete#dcms_index_info
set@sql=sp_helpindex+@TableName+
insertinto#dcms_index_infoexec(@sql)
--查找是否是已有聚簇索引(clustered),假如已有了就不做,在易飞中有clustered索引是多数
selectindex_namefrom#dcms_index_infowhereindex_descriptionlikeclustered%
if@@ROWCOUNT=0
begin
set@sql=createclusteredindexDcTempIndex001on+@TableName+(CREATE_DATE)
exec(@sql)
set@sql=DROPindex+@TableName+.DcTempIndex001
exec(@sql)
end
end
fetchnextfromCursor1into@TableName
end
droptable#dcms_index_info
closeCursor1
deallocateCursor1
解决方案提供商开始推动DBaaS浪潮之前,他们应该深入了解究竟什么是DBaaS。 |
|