+ -
当前位置:首页 → 问答吧 → MSSQL 2005 怎么维护全库的索引?

MSSQL 2005 怎么维护全库的索引?

时间:2011-11-03

来源:互联网

今天发现,SQL查询时,索引好像突然失效了,于是我先删除索引,再重新建立索引,索引才恢复正常,问题就这样解决了,目前也不明白是什么原因。

请问MSSQL 2005 维护全库索引的SQL语句是什么呢?或者说,删除索引,重新建立索引的SQL语句是什么呢?
如果能够针对全库所有表的索引操作就更好了。

希望高手帮忙,非常感谢!

作者: chenzhi0304   发布时间: 2011-11-03

DBCC DBREINDEX

作者: qianjin036a   发布时间: 2011-11-03

or
ALTER INDEX ALL ON Production.Product
REBUILD WITH (FILLFACTOR = 80, SORT_IN_TEMPDB = ON,
  STATISTICS_NORECOMPUTE = ON);

作者: qianjin036a   发布时间: 2011-11-03

優化數據庫之重建整理索引
http://blog.csdn.net/roy_88/article/details/6163583

作者: roy_88   发布时间: 2011-11-03

DBCC DBREINDEX

作者: fredrickhu   发布时间: 2011-11-03

引用 1 楼 qianjin036a 的回复:
DBCC DBREINDEX


请问具体怎么用?

作者: chenzhi0304   发布时间: 2011-11-03

引用 5 楼 chenzhi0304 的回复:

引用 1 楼 qianjin036a 的回复:
DBCC DBREINDEX


请问具体怎么用?


在联机上输入 “dbcc DBREINDEX”

作者: roy_88   发布时间: 2011-11-03

索引的逻辑碎片<30%时用整理,其它用重建.

作者: roy_88   发布时间: 2011-11-03

SQL code

exec sp_msforeachtable 'DBCC DBREINDEX(''?'')'



作者: zlp321002   发布时间: 2011-11-03

引用 8 楼 zlp321002 的回复:
SQL code

exec sp_msforeachtable 'DBCC DBREINDEX(''?'')'


以上代码执行后,索引依然有问题。
SQL code

Select Top 10 UserID,Money_Today from ZTop Where Date_='2011-11-4'
--索引不正常,好像是按UserID排列了

SQL code

Select Top 10 * from ZTop Where Date_='2011-11-4'
--索引正常,默认按Date_排列

“Date_”字段是字符型
ZTop表中有2个索引
索引名1:IX_ZTop 索引列:Date_ (DESC), Money_Today (DESC)
索引名2:IX_ZTop_UserID 索引列:UserID (DESC)

这是什么原因呢?

作者: chenzhi0304   发布时间: 2011-11-04

可以创建维护计划,在维护计划中选择,重建索引

作者: xyc880813   发布时间: 2011-11-04