重建索引

时间:2014-03-04 14:15:46

标签: sql sql-server sql-server-2005 indexing

指数重建花费了太多时间。可能是影响指数重建的可能因素。通常当我进行重建时,它不会超过一分钟。

语法:

ALTER INDEX Pk_customer ON Customer REBUILD WITH (FILLFACTOR=90, SORT_IN_TEMPDB =    ON,STATISTICS_NORECOMPUTE = OFF) Go

表格结构:

CREATE TABLE [dbo].[customer](
[pkey] [bigint] IDENTITY(1,1) NOT NULL,
[cid] [char](15) 
[name] [char](100) 
[cust_group] [char](20) 
[language] [char](2) 
[start] [datetime] NOT NULL,
[stop] [datetime] NOT NULL,
[country] [char](2) 
[_INSERTED] [datetime] NULL 
[_INSERTEDBY] [varchar](max) 
[_UPDATED] [datetime] NULL,
[_UPDATEDBY] [char](20) 
CONSTRAINT [PK_Customer] PRIMARY KEY CLUSTERED 
(
[pkey] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [FG_BASE]) ON [FG_BASE]

1 个答案:

答案 0 :(得分:3)

你说:

  

影响重建索引的可能因素是什么?通常当我进行重建时,它不会超过一分钟。

所以这里有可能的因素,除非你指定我们无法确定的细节:

  • 重建期间的服务器利用率
    • 其他工作,备份,导出,报告,昂贵查询等。
  • 重建时的索引碎片百分比
  • 表的大小
  • SQL Server以外的整体服务器性能(CPU,RAM,磁盘利用率)。