当前位置:首页 > 系统运维 > 正文内容

SQL Server索引碎片处理的实际操作流程

a8116255316年前 (2010-06-17)系统运维13

今天大家要向大家讲解的是SQL Server索引碎片处理的实际操作流程,我们大家都知道SQL Server数据库随着实际使用时间的增长,会让人觉得越来越慢,这个与你平时没有合理的维护计划有关系,定期处理索引碎片是一个必不可少的工作内容之一。

具体信息参考msdn

http://msdn.microsoft.com/zh-cn/library/ms189858.ASPx 我工作中碰到一张表,有320万记录,数据表占用空间800多兆,所有索引碎片大于80%,甚至有100%,索引占用空间500兆,重新生成索引后占用空间减小到200多兆。 一个可以在SQL2005中测试的脚本

drop database db_index_test 建立测试环境  create database db_index_test  go  use db_index_test  go  create table tbTest(rownum int identity(1,1),id varchar(100),date datetime)  go  create index index_id on tbTest(id) go  

插入测试数据,并适当删除一部分数据

declare @i int  set @i=1 while @i<10 begin  insert into tbTest(id,date)  select newid(),getdate() from syscolumns  delete from tbTest where rownum%2=0 set @i=@i+1  end  go  

检查索引

SELECT avg_fragmentation_in_percent FROM sys.dm_db_index_physical_stats (DB_ID(),   OBJECT_ID(N’tbTest’),  NULL, NULL, NULL) AS a JOIN sys.indexes AS b ON a.  object_id = b.object_id AND a.index_id = b.index_id where name=’index_id’   

go 重建索引

alter index index_id on tbTest rebuild go  

检查索引

SELECT avg_fragmentation_in_percent FROM sys.dm_db_index_physical_stats (DB_ID(),   OBJECT_ID(N’tbTest’), NULL, NULL, NULL) AS a JOIN sys.indexes AS b ON a.object_id = b.object_id AND a.  index_id = b.index_id where name=’index_id’ 删除测试环境 go use master go drop database db_index_test  go   

在sql的客户端工具SQL Server Management Studio中也可以手动检查并重建索引。以上的相关内容就是对讲解SQL Server索引碎片处理的介绍,望你能有所收获。

上述的相关内容就是对SQL Server索引碎片处理的描述,希望会给你带来一些帮助在此方面。

扫描二维码推送至手机访问。

版权声明:本文由2345好导航站长资讯发布,如需转载请注明出处。

本文链接:http://2345hao.cn/blog/index.php/post/21214.html

分享给朋友:

“SQL Server索引碎片处理的实际操作流程” 的相关文章

如何设置Win 7通知栏重新显示电源按钮

如何设置Win 7通知栏重新显示电源按钮

有些使用本本的朋友可能会发现,右下角通知栏区域会无法显示电源按钮,导致在插上电源或者是使用电池的时候都无法进行区分。造成这种情况大部分都是因为使用了第三方修改过的系统版本或者对于系统优化过度,所以今天就来解决这个问题。 第一步:在开始菜单的搜索窗口输入“gpedit.msc”,进入组策略编辑器,依...

ubuntu14.04打开个几个应用窗口最小化后怎么切换呢?

ubuntu14.04打开个几个应用窗口最小化后怎么切换呢?

ubuntu14.04应用窗口列表在哪里?在ubuntu下打开个几个应用窗口最小化后怎么切换呢,应用窗口列表在哪里呢? 1、多打开几个chrome浏览器窗口。 2、然后都做最小化处理。 3、现在我们在桌面左边的面板上找到"左右两边有小白点"的chrome浏览器应用图标,这就是chr...

windows 7系统下Windows服务被流氓软件注册怎么办?Windows服务

windows 7系统下Windows服务被流氓软件注册怎么办?Windows服务

解决方法: 其实处理这些使用流氓软件,需要将相关的.exe文件删除,使它不能再运行,或者直接清除这个服务本身,使计算机重启的时候,它不会再启动。比如Hijackthis扫描,在扫描日志中,一般会把非Windows系统的服务以023的方式列出来,如下面这段: O23 - ...

windows 7为什么老掉线 windows 7使用迅雷或快车下载的时候老掉

windows 7为什么老掉线 windows 7使用迅雷或快车下载的时候老掉

经过几天的测试后发现,Windows 7用户反映的情况确实存在,但并没有达到“频繁”的情况。同时,也并非是迅雷或快车抢了带宽。(即便是抢了带宽,表现的形式也是页面打开慢,而非是掉线),寻找问题的原因过程中,我们认为是Windows 7系统对于网卡的电源管理的默认设置造成的。 下面,就以Window...

3个实用的windows 7 DOS操作系统技巧

3个实用的windows 7 DOS操作系统技巧

       1. 快速复制粘贴文字   有时我们需要复制命令提示符窗口中的某些文字内容,但是之前的Windows系统中常规的复制粘贴方法是无效的,而在Windows 7中我们可以通过简单方法来复制文字:首先在任意位置右击鼠标并选择“标记...

windows 7启动后检测到硬盘出错提示请立即备份文件

windows 7启动后检测到硬盘出错提示请立即备份文件

许多朋友的Windows 7系统每次启动到桌面后,都会收到一个提示:Windows检测到一个硬盘问题,请立即备份文件以防信息丢失,并联系计算机制造商以确定是否需要修复或更换硬盘。如下图情况: 碰到这种情况的朋友就需要注意了,虽然不知道当前硬盘是碰到什么问题,但在电脑还能使用的情况下,我们首先要...