转至繁体中文版     | 网站首页 | 文章中心 | 下载中心 | 图片中心 | 笑话频道 | 教程频道 | 会员中心 | 雁过留声 | 
最新公告:     "MinTao学以致用网"欢迎您的光临,你的支持便是我们的动力,欢迎广大网友和各界人士亲临指导,你们的一个小小的建议便是我们发展的开路石!  [MinTao  2007年9月5日]        
您现在的位置: MinTao学以致用网 >> 文章中心 >> 电子课堂 >> 数据库 >> Sql Server >> 文章正文
专题栏目
更多内容
最新推荐 更多内容
相关文章
实用SQL: 查看表字段信息
实用SQL: 查看表字段信息
更多内容
实用SQL: 通过向表加clusted索引重整数据库         
实用SQL: 通过向表加clusted索引重整数据库
作者:hydonlee 文章来源:不详 点击数: 更新时间:2007-11-14 11:49:41

--
--   ArrangeDB.SQL 重整数据库
--
--   CopyRights @2003.12.29 Digital China Management System Co., Ltd.
--
-- 重整流程:把所有用户表增加 clustered 索引,这样SQL SERVER会重整表,然后
-- 再删除索引
--
-- 使用时机:日常维护,建议每周做一次重整。
--
-- 注意事项:做完后请做数据库收缩,更新统计,重新索引,及完整性检查 

--drop table #dcms_index_info
--要用到的临时表
create table #dcms_index_info
(
  index_name sysname,
  index_description varchar(210),
  index_keys varchar(2078)
)

--设置环境
set NOCOUNT ON
--程序开始:变量
declare @sql varchar(500)
declare @TableName varchar(20)
declare @ErrorSave int

--用所有的用户表处理
declare Cursor1 Cursor
for
 select name from sysobjects where xtype=''''U'''' order by name

open Cursor1
fetch next from Cursor1 into @TableName

while @@fetch_status = 0
begin
 --为了检测表中是不是有CREATE_DATE这个列,易飞的表中都有,如果没有就跳过,不过处理
 --应该还有更好的方法,我暂时这样用了。不想用sp_columns因为不想建表,慢就慢点吧
 if COLUMNPROPERTY(OBJECT_ID(@TableName),''''CREATE_DATE'''',''''PRECISION'''') is not null
 begin
  print ''''process table '''' + @TableName

  --取得当前表的索引信息
  delete #dcms_index_info
  set @sql = '''' sp_helpindex '''''''''''' + @TableName + '''''''''''' ''''
  insert into #dcms_index_info exec (@sql)

  --查找是不是已经有聚簇索引(clustered),如果已经有了就不做,在易飞中有clustered索引是少数
  select index_name from #dcms_index_info where index_description like ''''clustered%''''

  if @@ROWCOUNT = 0
  begin
   set @sql = '''' create clustered index DcTempIndex001 on '''' + @TableName + '''' ( CREATE_DATE ) ''''
   exec (@sql)

   set @sql = '''' DROP index '''' + @TableName + ''''.DcTempIndex001 ''''
   exec (@sql)
  end
 end

 fetch next from Cursor1 into @TableName
end
 
drop table #dcms_index_info
close Cursor1
deallocate Cursor1

文章录入:mintao    责任编辑:mintao 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007 MinTao学以致用网(www.mintao.net) Inc All Rights Reserved.
    QQ:543098146有事请Q我! QQ:261561092有事请Q我 QQ:179647303有事请Q我 MSN:min906@126.com
    站长:MinTao 信息产业部ICP备案号:鄂ICP备07500065号

    学以致用是我们学习者的至高境界和不懈追求,[MinTao学以致用网]与大家共同学习,共同进步……
    信息产业部备案
    *鄂ICP备07500065号