定期整理磁盘碎片: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
相关文章读者评论发表评论 |
|