博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MSSQL Rebuild(重建)索引
阅读量:6260 次
发布时间:2019-06-22

本文共 820 字,大约阅读时间需要 2 分钟。

前的项目是做数据库的归档,在每次archive后都需要对原数据库的索引进行rebuild,以减少索引碎片,于是乎就自己写了一段sql:

DECLARE @tablename VARCHAR(50)

DECLARE @indexname VARCHAR(50)
DECLARE @cmdsql NVARCHAR(MAX)
DECLARE index_cursor CURSOR
FOR
SELECT  OBJECT_NAME(object_id) AS Table_Name ,
        name
FROM    sys.indexes
WHERE   name IS NOT NULL
        AND OBJECT_NAME(object_id) IN ( SELECT  name
                                        FROM    sys.tables )
          OPEN index_cursor
FETCH NEXT FROM index_cursor
INTO @tablename,@indexname

WHILE @@FETCH_STATUS = 0

    BEGIN
        SET @cmdsql ='ALTER INDEX ['+@indexname+'] ON [dbo].['+@tablename+'] REBUILD WITH ( PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON, SORT_IN_TEMPDB = OFF, ONLINE = OFF )'
        EXECUTE sp_executesql @cmdsql
        PRINT @cmdsql
        FETCH NEXT FROM index_cursor
 INTO @tablename,@indexname
    END
CLOSE index_cursor
DEALLOCATE index_cursor

希望对大家有帮助!

转载地址:http://kgqsa.baihongyu.com/

你可能感兴趣的文章
js 获取两个日期相差的天数--自定义方法
查看>>
PHP 实现小偷程序
查看>>
【BZOJ4800】 [Ceoi2015]Ice Hockey World Championship
查看>>
bower 安装
查看>>
设置选项Highcharts中文API
查看>>
Zen Coding 快速编写HTML/CSS代码的实现
查看>>
OSX: 使用命令行对FileVault2分区恢复
查看>>
[Asp.net]说说密码框和只读框
查看>>
WebHdfs
查看>>
Spring MVC 3 深入总结
查看>>
在JavaScript中判断整型的N种方法
查看>>
Debian类系统必做——将【你的用户】加入sudoers用户组
查看>>
typedef函数指针使用方法
查看>>
python获取当前路径的方法
查看>>
MySql状态查看方法 MySql如何查看连接数和状态?
查看>>
《MySQL必知必会》学习笔记_1
查看>>
[Android 源码] Android源码下载
查看>>
数学图形(2.12)spherical cycloid球面外摆曲线
查看>>
Servlet小试
查看>>
读完了csapp(中文名:深入理解计算机系统)
查看>>