大表的性能處理我有一個表tbl_ECR_ProductData
近92356143行。每週100000行被導入到這個表中。在SQL Server 2000中
該表具有16個列,這些列的2補主鍵,其餘的列是varchar
類型。
我在這裏的問題是,當我搜索基於剩餘的列值..表其花費很長的時間,近10分鐘。
我怎樣才能降到最低的時候?請幫助我在這..你的幫助表示讚賞...在此先感謝! 表結構如下
CREATE TABLE [tbl_ECR_ProductData]( [Serial Number] [varchar](255) NOT NULL, [Act Number] [varchar](255) NULL, [Act Date] [datetime] NULL, [Act Location] [varchar](255) NOT NULL, [Manufacturer] [varchar](255) NULL, [ManufacturerPN] [varchar](255) NULL, [Act Description] [varchar](255) NULL, [Act PtNumber] [varchar](255) NULL, [Act Code] [varchar](255) NULL, [Act DateCode] [varchar](255) NULL, [Pmrl] [varchar](255) NULL, [Act ReceiveDate] [datetime] NULL, [Act Channel] [varchar](255) NULL, [Act Supplier] [varchar](255) NULL, [ImportDate] [datetime] NULL
CONSTRAINT [PK_tbl_ECR_ProductData] PRIMARY KEY CLUSTERED ( [Serial Number] ASC, [Act Location] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY] )
1.設置索引由更新的行)刪除這些行或將它們移動到歷史值表。 – mortb 2012-04-10 11:47:42
在SQL Server Management Studio中運行查詢時,打開「包含實際執行計劃」。查看生成的執行計劃以查看查詢的哪些子部分花費的時間最長。尋找「嵌套循環」通常需要比索引掃描等更多的時間。嘗試1.重寫您的查詢,以避免需要很長時間的部分或2.設置索引將有助於長期運行的部分性能。 – mortb 2012-04-10 12:14:27