2011-12-08 24 views
1

かなり小さなテーブルにインデックスを作成した後(約700行、10のcolumsは)私がSystem.Data.SqlClient.SqlException:タイムアウトがインデックスのために期限切れですか?

System.Data.SqlClient.SqlExceptionを取得するために開始しました:タイムアウトはインデックスがクラスタ型だった

期限切れプライマリキーで トリガーはありません。

ストアドプロシージャを使用して更新を行うときに、これらのエラーがすべて発生しました。 インデックスを削除した後、タイムアウトの問題はなくなりました。

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] 

編集: 私のテーブル構造を見た後、私はそれが欠けている主キーが原因かもしれません実現?

+1

実行したコードは何ですか?あなたはそのテーブルのトリガーを持っていますか?依存関係? –

+0

私のクリスタルボールは凍りついていて、故障しています。**テーブル構造**を表示して、あなたが持っている**インデックス**を教えてください。 .... –

+0

これは、タイムアウトを引き起こす700行のインデックスの1つの地獄でなければなりません。あなたのディスクシステムは同時に重い負荷ですか?とにかくタイムアウト設定は何ですか?それがPK上のインデックスだけであれば、この動作を理解できません。管理スタジオで同じストアドプロシージャを実行する場合、クエリプランは何ですか? – Pleun

答えて

0

テーブルの統計を更新しようとしましたか?

関連する問題