System.Data.SqlClient.SqlException: истекло время ожидания из-за индекса? - PullRequest
1 голос
/ 08 декабря 2011

После создания индекса для довольно маленькой таблицы (около 700 строк, 10 столбцов) я начал получать

System.Data.SqlClient.SqlException: Истекло время ожидания

Индекс был кластеризован по первичному ключу.Триггеров нет.

Все эти ошибки произошли при обновлении с помощью хранимой процедуры.После удаления индекса у меня больше не было проблем с тайм-аутом.

Настройка CommandTimeout не помогла.У кого-нибудь есть идея, почему это происходит?

хранимая процедура (здесь ничего особенного)

Update objects set date_last_datacollect=@date_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]

edit: После просмотра структуры моей таблицы я понимаю, что это может быть связано с отсутствующим первичным ключом?

1 Ответ

0 голосов
/ 08 декабря 2011

Вы пробовали обновить статистику в таблице?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...