1
在一個相當小的表上創建索引後(約700行,10個colums)我開始System.Data.SqlClient.SqlException:超時由於索引而過期?
System.Data.SqlClient.SqlException:超時過期
指數爲clusterd在主鍵上。 沒有觸發器。
通過存儲過程進行更新時發生所有這些錯誤。 我刪除索引後,我沒有更多的超時問題。
設置CommandTimeout沒有幫助。 有沒有人知道爲什麼會發生這種情況?
存儲過程(這裏沒有什麼特別)
Update objects set [email protected]_last_datacollect,
date_last_error='',message_last_error='' where objectid = @objectid
表結構
CREATE TABLE [dbo].[objects](
[id] [int] IDENTITY(1,1) NOT NULL,
[objectid] [nvarchar](50) NULL,
[name] [nvarchar](max) NULL,
[adminid] [nvarchar](50) NULL,
[token] [nvarchar](max) NULL,
[type] [nvarchar](max) NULL,
[date_added] [date] NULL,
[date_last_update] [datetime] NULL,
[date_last_datacollect] [datetime] NULL,
[date_last_error] [datetime] NULL,
[message_last_error] [nvarchar](max) NULL,
[active] [bit] NULL,
[logourl] [nchar](255) NULL
) ON [PRIMARY]
編輯: 看我的表結構後,我意識到這可能是由於缺少主鍵?
你執行的代碼是什麼?你有觸發器嗎?依賴? –
我的水晶球被凍結並且出現故障......請向我們展示**表格結構**,告訴我們您有什麼**索引**,並向我們展示**用於查詢表格的代碼**。 ... –
這必須是700行導致超時的索引的一個地獄。您的磁盤系統是否在同一時間負載較重?無論如何,你的超時設置是什麼。如果它只是一個關於PK的索引,我無法理解這種行爲。如果您在management studio中執行相同的存儲過程,那麼查詢計劃是什麼? – Pleun