专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »数据库 » 定期整理磁盘碎片:SQLServer中需要定期处理索引碎片 »正文

定期整理磁盘碎片:SQLServer中需要定期处理索引碎片

来源: 发布时间:星期四, 2009年2月12日 浏览:67次 评论:0


SQLServer数据库随着使用时间增长会让人觉得越来越慢这个和你平时没有合理维护计划有关系定期处理索引碎片是个必不可少工作内容的 具体信息参考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 identity(1,1),id varchar(100),date datetime)

go

create index index_id _disibledevent=>
while @i<10

begin

insert o tbTest(id,date)

select id,getdate from syscolumns

delete from tbTest where rownum%2=0

@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 _disibledevent=>
go --重建索引

alter index index_id _disibledevent=>
go

在sql客户端工具SQL Server Management Studio中也可以手动检查并重建索引

0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: