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

Откуда:
Сообщений: 625
есть таблица 15 млн записей. Нужно ее периодически очищать и перемещать в другую таблицу. Копирование происходит относительно быстро, а вот удаление бесконечно. Почитал по форумам, советовали удалить foreign индексы или сделать disable или убрать CHECK. Пытался сделать, но ALTER index зависал и вся БД тормозила, пришлось убить процесс.
Индексы проставлены там где надо. Многие говорят, чт проблемы из-за foreign индексы. По ним при удалении делается сверка данных. Вот типа они и основные тормоза процесса удаления.
Нашел пока быстрое решение. Создаю клон таблицы загоняю данные, удаляю оригинальную, переименовываю. Но не нравится мне такой кривой подход. Кто что может посоветовать.
4 апр 12, 10:55    [12362478]     Ответить | Цитировать Сообщить модератору
 Re: Зависает удаление большого количества записей  [new]
Penner
Member

Откуда:
Сообщений: 340
TRUNCATE TABLE
4 апр 12, 10:58    [12362506]     Ответить | Цитировать Сообщить модератору
 Re: Зависает удаление большого количества записей  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
TRUNCATE TABLE, но у него есть ограничения, в том числе и на форин кеи.
4 апр 12, 10:59    [12362509]     Ответить | Цитировать Сообщить модератору
 Re: Зависает удаление большого количества записей  [new]
Shakill
Member

Откуда: мск
Сообщений: 1887
abort,
можно удалять порциями
можно секционировать исходную таблицу и для перемещения переключать секции
4 апр 12, 11:01    [12362534]     Ответить | Цитировать Сообщить модератору
 Re: Зависает удаление большого количества записей  [new]
abort
Member

Откуда:
Сообщений: 625
Shakill
abort,
можно удалять порциями
можно секционировать исходную таблицу и для перемещения переключать секции


порциями пробовал, особой разницы не почувствовал
а вот секционировать даже не знаю что это. Есть примерчик?
4 апр 12, 11:38    [12362844]     Ответить | Цитировать Сообщить модератору
 Re: Зависает удаление большого количества записей  [new]
Shakill
Member

Откуда: мск
Сообщений: 1887
abort,

Эффективная передача данных с использованием переключения секций
4 апр 12, 11:42    [12362890]     Ответить | Цитировать Сообщить модератору
 Re: Зависает удаление большого количества записей  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5115
Shakill,
только вот если с этой таблицей идёт интенсивная работа, а вы серверу скажите alter table то пользователи могут не обрадоваться.
4 апр 12, 11:47    [12362942]     Ответить | Цитировать Сообщить модератору
 Re: Зависает удаление большого количества записей  [new]
Shakill
Member

Откуда: мск
Сообщений: 1887
Дедушка,

предполагаю, что ТС выбирает момент с низкой нагрузкой для этой операции
да и переключение происходит довольно быстро
4 апр 12, 11:52    [12362978]     Ответить | Цитировать Сообщить модератору
 Re: Зависает удаление большого количества записей  [new]
abort
Member

Откуда:
Сообщений: 625
Shakill
abort,

Эффективная передача данных с использованием переключения секций

а есть ли у вас примерчик небольшой
4 апр 12, 12:10    [12363138]     Ответить | Цитировать Сообщить модератору
 Re: Зависает удаление большого количества записей  [new]
Shakill
Member

Откуда: мск
Сообщений: 1887
abort
Shakill
abort,

Эффективная передача данных с использованием переключения секций

а есть ли у вас примерчик небольшой


в справке по ALTER TABLE есть примерчики. ищите там слово SWITCH
4 апр 12, 12:18    [12363222]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить