2014-03-04 170 views
0

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

语法:

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

表中有多少条记录?什么是碎片?记录是否经常从表格中删除? –

+1

这不是足够的信息。索引重建有很多因素。当你这样做时(服务器的繁忙程度),索引的碎片化,索引的使用,数据的存在。我们需要更多的信息来帮助 – gh9

+0

这里只有1000条记录,最近没有插入或删除操作。 –

回答

2

你说:

,这可能是影响指数的重建的可能因素。通常当我重建它不会超过一分钟。

因此,这里有可能的因素,除非你指定的细节,我们不能肯定地说:在时间

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

你好,请让我知道你需要哪些细节,这可以帮助我提高性能。 –

+0

1.什么时候做?它是忙碌的时间还是很慢? 2.量化好坏,实际持续时间是多少。 3.你多久做一次?查看http://technet.microsoft.com/en-us/library/ms189858(v=sql.90).aspx以获取重建之前要检查的项目的建议。 – 2014-03-04 14:53:10

+0

这是每个月的第一周完成的月度过程。在重新索引编制完成时,该表不被任何其他进程使用。 –