手机
当前位置:查字典教程网 >编程开发 >mssql数据库 >解决SQL Server 表或索引的碎片问题
解决SQL Server 表或索引的碎片问题
摘要:对表进行长期的修改或删除会产生大量的碎片,影响数据库性能。解决办法就是把表或索引重建,消除碎片,达到优化的目的。直接上代码:/*查询碎片,a...

对表进行长期的修改或删除会产生大量的碎片,影响数据库性能。解决办法就是把表或索引重建,消除碎片,达到优化的目的。

直接上代码:

/*查询碎片,avg_fragmentation_in_percent就是索引占的百分比,大于30都是不正常的,需要重建*/

DECLARE @db_id int;

DECLARE @object_id int;

SET @db_id = DB_ID(N'AdventureWorks2008R2');

SET @object_id = OBJECT_ID(N'AdventureWorks2008R2.Person.Address');

IF @db_id IS NULL

BEGIN;

PRINT N'Invalid database';

END;

ELSE IF @object_id IS NULL

BEGIN;

PRINT N'Invalid object';

END;

ELSE

BEGIN;

SELECT * FROM sys.dm_db_index_operational_stats(@db_id, @object_id, NULL, NULL);

END;

GO

/*重建表*/

alter table <表名> rebuild

/*重建索引*/

alter index <索引名> ON <表名> rebuild

【解决SQL Server 表或索引的碎片问题】相关文章:

SQLServer2005 评估和管理索引

SQL Server 2005 还原数据库错误解决方法

SQLServer2005及以上存储过程分页方法

sql server连接不上怎么办 SQL Server2008R无法登录的解决方案(181418456)

SQLServer中的事务和锁

SQL Server 2008报表服务介绍

SQL Server 数据库优化

SQLServer视图的总结

sql2008安装教程 SQL Server 2008 R2 安装图解

SQL Server 2008 R2数据库镜像部署图文教程

精品推荐
分类导航