У меня есть команда UPDATE, которая не работает из-за тайм-аута на SQL Server. Это большая таблица, используемая для хранения событий, и первичным ключом является некластеризованный индекс (в любом случае это не имеет значения, поскольку это столбец uniqueidentifier).
Он обновляет одну строку: update [table] set [field] = 1 where [primary_key] = [primary_key_value];
. Вероятно, проблема заключается в том, что существует более 200 000 000 строк, поэтому поиск каждой из них занимает много времени.
С точки зрения предпочтений SQL Server лучше ли увеличить время ожидания команды (да, я знаю,30 секунд по умолчанию уже в 30 раз длиннее, чем может потребоваться любой разумный запрос), или я должен ввести, возможно, более короткий тайм-аут, но повторять снова и снова (до предела)?
Так что, один длинный 60-секундный тайм-аут команды лучше, чем 6 повторов с 5-секундным тайм-аутом?
На практике, конечно, будет некоторый экспоненциальный откат и реализация автоматического выключателя.