У нас есть таблица (скажем, T1), на которую ссылаются около 16 других таблиц с внешними ключами в нашей базе данных SQL Server. Доступ к данным осуществляется через приложение ASP.NET с LINQToSQL. Когда пользователь пытается удалить запись из T1, срок действия оператора истекает. Поэтому мы решили сначала удалить записи из таблиц, которые ссылаются на T1, и только затем удалить запись в T1. Проблема в том, что удаление из T1 не работает так быстро, как ожидалось.
У меня вопрос: нормально ли, чтобы удаление из таблицы, на которую ссылаются многие другие таблицы, занимало так много времени, даже если сама запись не имеет дочерних записей?
РЕДАКТИРОВАТЬ: очевидно, причиной тайм-аута было не само удаление, а другой запрос, который извлек данные из того же DataContext. Спасибо за ваши предложения, я отметил как ответ на предложение добавить индексы для всех внешних ключей, потому что это улучшило план выполнения нашего скрипта.