Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Cascade Delete  [new]
KyJIuHaP
Member

Откуда:
Сообщений: 13
Привет Всем. Никто не встречался с такой штукой, что удаление из таблицы, записи, на которой есть cascade delete приводит к зависанию удаления? оно думает и думает.. ждать можно вечно.
??
4 апр 06, 21:49    [2524267]     Ответить | Цитировать Сообщить модератору
 Re: Cascade Delete  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Планы посмотрите. Попробуйте натравить ITW.
5 апр 06, 06:36    [2524811]     Ответить | Цитировать Сообщить модератору
 Re: Cascade Delete  [new]
KyJIuHaP
Member

Откуда:
Сообщений: 13
Дополнение... такое получаетсятолько на 2-х машинах. однако еще на 5-6, может даже 10 все работает нормально. Стоит sql 2000.

планы посмотрю, а что такое ITW?
5 апр 06, 07:41    [2524883]     Ответить | Цитировать Сообщить модератору
 Re: Cascade Delete  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
KyJIuHaP
Дополнение... такое получаетсятолько на 2-х машинах. однако еще на 5-6, может даже 10 все работает нормально. Стоит sql 2000.
Провыерьте наличие индексов в таблице с внешним ключем по нему на всех серверах.
KyJIuHaP
а что такое ITW?
Index Tuning Wizard.
5 апр 06, 07:53    [2524900]     Ответить | Цитировать Сообщить модератору
 Re: Cascade Delete  [new]
KyJIuHaP
Member

Откуда:
Сообщений: 13
А когда делаешь cascade delete в таблицах, связанных с главной надо делать индексы по полю?

Примерное описание ситуации:
главная таблица client имеет PK_client

подчиненные таблицы:
1) faces имеет 2 стл. faces и client ---> Pk_faces (колонка faces), столбец client из faces имеет связь со стлб. client таблицы client с опцией cascade delete

2) m_client имеет 2 стл. m_client и client ---> PK_m_client (составной, m_client и client). столбец client из m_client имеет связь со стлб. client таблицы client с опцией cascade delete

и так еще много таблиц... я наверное с утра не очень соображаю, но недопонял. надо чтобы на той же таблице faces был еще один индекс на стлб. client?
5 апр 06, 08:14    [2524938]     Ответить | Цитировать Сообщить модератору
 Re: Cascade Delete  [new]
Glory
Member

Откуда:
Сообщений: 104760
KyJIuHaP
оно думает и думает.. ждать можно вечно.
??

Ожидать снятия блокировки сервер по-умолчани. может действительно вечно.
Тогда вопрос будет в том, кто же наложил ту блокировку, снятия которой ждет сервер ? Для ответа существует утилита EnterpriseManager и системные процедуры sp_lock/sp_who
5 апр 06, 10:30    [2525412]     Ответить | Цитировать Сообщить модератору
 Re: Cascade Delete  [new]
KyJIuHaP
Member

Откуда:
Сообщений: 13
На счет блокировки... что-то сразу не подумалось.. рассмотрю вариант... псибо...

Тут еще в чем проблема.. машина где-то в другом городе на модеме... поэтому тестить и смотреть что либо сложно... а по закону подлости, всё что на выделенках, работает как часы :)
5 апр 06, 12:31    [2526277]     Ответить | Цитировать Сообщить модератору
 Re: Cascade Delete  [new]
KyJIuHaP
Member

Откуда:
Сообщений: 13
ХЕЕЕЕЛП... Прикол такой что Ехес. план посмотреть нельзя, т.к. запрос вешает машину и думает вечно... sp_who2 не прокатывает. Машина все ресурсы отдает на тот delete :( на другие запросы не отвечает... блиин, замучался...
5 апр 06, 14:14    [2526865]     Ответить | Цитировать Сообщить модератору
 Re: Cascade Delete  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Ну, можно и ожидаемый план (Ctrl+L) посмотреть.
5 апр 06, 14:19    [2526896]     Ответить | Цитировать Сообщить модератору
 Re: Cascade Delete  [new]
KyJIuHaP
Member

Откуда:
Сообщений: 13
:( не прошло.... обычный
delete from table where id = несущесвующий номер
при нажатии Ctrl + L думает уже 3 минуты :(
5 апр 06, 14:23    [2526916]     Ответить | Цитировать Сообщить модератору
 Re: Cascade Delete  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Перебирает бедолага оптимизатор возможные варианты :-/
5 апр 06, 14:26    [2526935]     Ответить | Цитировать Сообщить модератору
 Re: Cascade Delete  [new]
KyJIuHaP
Member

Откуда:
Сообщений: 13
Думаешь оптимизатор бедолага... он то выбирает возможные варианты чтобы стереть строку, которой не существует...
а я бедняга сущесвую на этой планете.. пока :)


В общем проблема временно решена сл. образом... вернулись к старому способу стирания -- ХП, вместо каскадов... хотя было бы так клево, когда поставил галочку cascade delete и всё заработало, но не судьба...
5 апр 06, 14:46    [2527089]     Ответить | Цитировать Сообщить модератору
 Re: Cascade Delete  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
У таблицы, учавствующей в связи внешним ключем по этому ключу индекс есть?
5 апр 06, 14:48    [2527108]     Ответить | Цитировать Сообщить модератору
 Re: Cascade Delete  [new]
KyJIuHaP
Member

Откуда:
Сообщений: 13
Да, есть.... кластерный индекс...
5 апр 06, 14:56    [2527171]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить