2014-03-04 119 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

這是每個月的第一週完成的月度過程。在重新索引編制完成時,該表不被任何其他進程使用。 –