Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Долго выполняется DELETE [MSSQL]


Страницы:   1 2 3

Ольга ©   (2009-01-12 11:01:00) 

Есть простая табличка:

CREATE TABLE [dbo].[REGIMS] (
[REGIM_ID] [int] NOT NULL ,
[OPERMODE] [int] NULL ,
[CREATED] [datetime] NULL ,
[FINISHED] [datetime] NULL ,
[FIXED] [int] NULL ,
[SHORT_NAME] [varchar] (20)  ,
[BALANCED] [int] NULL ,
[DESCRIPTION] [varchar] (240)  NULL
) ON [PRIMARY]

Primary Key - REGIM_ID. На эту таблицу по Foreign Key ссылаются еще 18 таблиц (каскадное удаление не назначено).
В таблице около 50 000 записей. Сначала удаляю записи из зависимых таблиц по REGIM_ID - выполняется быстро. Но последний шаг:

 DELETE FROM REGIMS WHERE REGIM_ID=2265

выполняется около 4 минут. В чем может быть дело?


sniknik   (2009-01-12 11:47:00) [41]

> Каскадное удаление убрала умышленно
как?
проверка очевидно остается иначе не было бы так долго. вот проверь, скопируй таблицу с данными в независимую от ключей и удали тоже самое из нее (индексы по полям где условию не забудь в ней воссоздать те же что в оригинале). и как? быстро?
если быстро то значит проверки есть и их надо отключать (анчек констраинтам делать)...
в принципе 18 проверок в 18 таблицах к удалению каждой записи... понятно что долго будет.


Ega23   (2009-01-12 11:43:00) [42]

Триггер на delete есть?


Ольга   (2009-01-12 11:36:00) [43]

Транкейтить нельзя, т.к. удаляется выборочная информация. Каскадное удаление убрала умышленно, т.к. MSSQL не справляется с таким кол-вом (больше каскадных 5 ключей - и вешается)


sniknik   (2009-01-12 11:29:00) [44]

это очистка таблиц? транкейт не работает? (если внешний ключ с удалением из зависимой)
отключить или удалить его перед очисткой? (с последующим восстановлением конечно)


Ольга   (2009-01-12 11:23:00) [45]

Проблемы только с этой таблицей (отличается от других большим кол-вом FK). Сама база довольно большая 6Гб, под T-Log выделено 150 Мб, занято 18 Мб.


Ega23   (2009-01-12 11:17:00) [46]

Только с этой таблицей, или с любой?
Лог, случаем, за какой-нибудь большой размер не вылез?


Ольга   (2009-01-12 11:16:00) [47]

Верится - не верится, а факт. Меня "приставили к стенке" и требуют срочно исправить ситуацию, которая возникла недавно, до этого все работало с удовлетворительной скоростью.


Сергей М.   (2009-01-12 11:07:00) [48]

Что-то с трудом верится ..


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо