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]
編集: 私のテーブル構造を見た後、私はそれが欠けている主キーが原因かもしれません実現?
実行したコードは何ですか?あなたはそのテーブルのトリガーを持っていますか?依存関係? –
私のクリスタルボールは凍りついていて、故障しています。**テーブル構造**を表示して、あなたが持っている**インデックス**を教えてください。 .... –
これは、タイムアウトを引き起こす700行のインデックスの1つの地獄でなければなりません。あなたのディスクシステムは同時に重い負荷ですか?とにかくタイムアウト設定は何ですか?それがPK上のインデックスだけであれば、この動作を理解できません。管理スタジオで同じストアドプロシージャを実行する場合、クエリプランは何ですか? – Pleun