SQL SERVER 2005索引自动维护

 

先直接上代码:

1.    CREATE PROC SHANE_AutoProIndex 

2.    AS

3.   

4.    DECLARE @tblName VARCHAR(40) 

5.    DECLARE @indexID INT

6.    DECLARE @proFlag FLOAT

7.    DECLARE @indexName VARCHAR(40) 

8.    DECLARE @sql varchar(200) 

9.   

10.   DECLARE _tblCur CURSOR FOR SELECT TblName FROM AutoProIndexModel 

11.   OPEN _tblCur 

12.   FETCH NEXT FROM _tblCur INTO @tblName 

13.   WHILE @@FETCH_STATUS = 0 

14.   BEGIN

15.   PRINT 'Now is Proing: ' + @tblName 

16.   --PRINT @tblName 

17.  

18.   DECLARE _indexCur CURSOR FOR SELECT index_id, avg_fragmentation_in_percent  

19.   FROM sys.dm_db_index_physical_stats(DB_ID(N'AdventureWorks'), OBJECT_ID(@tblName), NULL, NULL, 'LIMITED') 

20.     

21.   OPEN _indexCur 

22.   FETCH NEXT FROM _indexCur INTO @indexID, @proFlag 

23.  

24.   WHILE @@FETCH_STATUS = 0 

25.   BEGIN

26.      PRINT 'The index id is: ' + CAST(@indexID AS VARCHAR(10)) + ', avg_fra_in_percent is: ' + CAST(@proFlag AS VARCHAR(20)) 

27.      IF @proFlag > 5 AND @proFlag < 30 

28.       BEGIN

29.        SELECT @indexName = name FROM sys.indexes WHERE [object_id] = OBJECT_ID(@tblName) AND index_id = @indexID 

30.        print @indexName + ' must be  REORGANIZE'

31.        SET @sql = 'ALTER INDEX ' + @indexName + ' ON ' + @tblName + ' REORGANIZE'

32.        EXEC(@sql) 

33.   PRINT @SQL 

34.       END

35.      ELSE IF @proFlag > 30 

36.       BEGIN

37.        SELECT @indexName = name FROM sys.indexes WHERE [object_id] = OBJECT_ID(@tblName) AND index_id = @indexID 

38.        print @indexName + ' must be  REBUILD'

39.        SET @sql = 'ALTER INDEX ' + @indexName + ' ON ' + @tblName + ' REBUILD'

40.        EXEC(@sql) 

41.   PRINT @SQL 

42.       END

43.      FETCH NEXT FROM _indexCur INTO @indexID, @proFlag 

44.   END  

45.  

46.   CLOSE _indexCur 

47.   DEALLOCATE _indexCur 

48.  

49.   print ''

50.   FETCH NEXT FROM _tblCur INTO @tblName 

51.   END

52.  

53.   CLOSE _tblCur 

54.   DEALLOCATE _tblCur 

55.  

该PROC中有张表AutoProIndexModel,这张表里面存储的是需要维护索引的几张表名。

该PROC流程如下:

1.先使用游标读取AutoProIndexModel中的需要整理的表的信息,进行循环

2.使用DMF,sys.dm_db_index_physical_stats得出每张表中每个索引的碎片情况后,根据avg_fragmentation_in_percent 字段的值进行具体的操作

3.如果avg_fragmentation_in_percent 在5-30之间进行索引重新组织,>30则索引重建。

新建个计划任务后,定时调用该存储过程就可以实现索引的自动维护了。

本文出自 “怒放的生命” 博客

更多相关文章
  • 知识背景(来自:百度百科): LAMP指的Linux(操作系统).Apache HTTP 服务器,MySQL(有时也指MariaDB,数据库软件) 和PHP(有时也是指Perl或Python) 的第一个字母,一般用来建立web 服务器. Linux 是免费开源软件,这意味着源代码可用的操作系统. A ...
  •   先来个总会场照          呼呼,二楼第一排视角……            什么是CDC?China Developers Conference,中国开发者大会   开始正文          6月28日,当我正埋着头敲代码的时候,群里面冒出一条信息“明天谁去想去参加广州开发者大会”,并给 ...
  • 易网科技讯 11月17日消息 支付宝CTO今日在杭州举行的支付技术峰会上表示,支付宝未来或许会针对线下交易数字化的市场推出新的产品. 艾瑞咨询院院长曹军波在会上发布研究报告称2012年中国互联网支付市场的交易规模将达到38246亿,同时,货币的"数字化"将从线上蔓延至线下. 对此 ...
  • 近期与柬埔寨政府代表签署了合作意向书,拟与该国知名公司共同投资成立合资公司,在该国投资建设及运营全国性综合信息网络项目.陕西广电网络传媒(集团)股份有限公司(广电网络,600831)昨晚公告称,近期与柬埔寨政府代表签署了合作意向书,拟与该国知名公司共同投资成立合资公司,在该国投资建设及运营全国性综合 ...
  • 广电网络(600831,收盘价7.72元)25日公告,公司与柬埔寨代表就共同在柬埔寨投资建设及运营综合信息网络项目达成初步意向,并于7月21日签署了<合作意向书>.公司拟与柬埔寨国内知名公司合作,共同投资成立合资公司,在柬埔寨投资建设及运营全国性综合信息网络项目.
  • File类File类是java.io包中唯一对文件本身进行操作的类.它可以进行创建.删除文件等操作. File类常用操作(1)创建文件可以使用 createNewFille() 创建一个新文件.注意:Windows 中使用反斜杠表示目录的分隔符"\".Linux 中使用正斜杠表示 ...
一周排行
  • 易网科技讯 8月4日消息,中国台湾液晶面板厂商奇美电子今日下午公布了截止于6月30日的2011财年第二季度财务数据,财报数据显示,奇美电子第二季度净亏损为新台币130.1亿元(约合人民币29亿元),高于此前市场分析人 ...
  • 12月13日消息,据国外媒体报道,从韩国媒体获得的消息显示,马云日前赴韩参加第二届中韩互联网圆桌会议期间,曾与三星高管秘密会晤.在双方会面期间,马云提出阿里智能眼镜项目需要三星技术支持. <韩国时报>12 ...
  • Debian和Ubuntu都自带了Nginx,用他们来配置Nginx的反向代理,非常方便. 安装Nginx 运行如下命令安装并运行Nginx apt-get install nginx /etc/init.d/ngi ...
  • 一.选择题 1.无类域间路由CIDR技术出现在IP地址概念与划分技术的第 个阶段. A)第一阶段 B)第二阶段 C)第三阶段 D)第四阶段 2.地址转换技术的研究始于 年. A)1981 B)1991 C)1993 ...
  • 现在的广告系统基于文字的.     开发一款基于图形的广告系统,也可用于视频广告(视频也是由图片构成的)等.     通过图像里的物品进行购物广告等.
  • 表达式求值 时间限制:3000 ms 内存限制:65535 KB 难度:4 描述 ACM队的mdd想做一个计算器,但是,他要做的不仅仅是一计算一个A+B的计算器,他想实现随便输入一个表达式都能求出它的值的计算器,现在 ...
  •    在我的架构经验小结(三)-- 深入三层架构 一文中,我们详细的讨论的三层架构,本文将介绍如何将DataRabbit融入到三层架构中的经验.   DataRabbit包括三个项目:DataRabbit.Basic ...
  • 课程概述无论你是做项目.做产品还是互联网,需求分析都是一个苦逼的事情!做项目的不知道客户想要什么,甚至客户自己也不知道想要什么!做产品和互联网的不知道潜在客户想要什么,不知道市场会有怎样的变化,只知道你的老板不断给你 ...
  • /* * 程序的版权和版本声明部分: * Copyright (c) 2011, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作 者:李新鹏 * 完成日期:2 ...
  • 奇迹暖暖少女级1朝最优搭配师努力图文攻略,奇迹暖暖少女级第五章搭配大全之1朝最优搭配师努力搭配攻略.奇迹暖暖1朝最优搭配师努力S攻略 奇迹暖暖少女级1朝最优搭配师努力图文攻略,奇迹暖暖少女级第 ...