У меня есть база данных, в которой есть родительская строка «Учетная запись», которая затем имеет отношение 1-Много с другой таблицей, и эта таблица имеет отношение 1-Много с другой таблицей. Это происходит примерно на 6 уровнях (с учетной записью вверху). В самом низу могут быть тысячи (может даже превышать 100 тыс.) Строк. На каждой таблице есть внешний ключ, установленный каскадно при удалении.
Проблема в том, что, если я пытаюсь удалить самую верхнюю строку («Учетная запись»), это может занять минуты, иногда даже более 10 минут. Есть ли более быстрый способ удаления всех строк (например, может идти снизу вверх в отдельных операторах удаления) или это в значительной степени каскад?
Я использую MSSQL 2005 & MSSQL 2008 для сервера и L2S для выполнения удаления, хотя я могу использовать оператор T-SQL, если он быстрее.
Я тоже пытался удалить из SQL Management Studio, и это занимает столько же времени.
edit : мы попытались переиндексировать базу данных с незначительной разницей, возможно, с разницей в минуту или две. Я ценю все ваши ответы, похоже, мне придется начать писать какой-то код для мягкого удаления!