У меня есть таблица, где у меня есть около 1,5 миллиона + результаты, которые мне нужно удалить. Раньше я использовал временную таблицу, и это привело к тому, что журнал транзакций увеличился в размере довольно быстро. Проблема в том, что, как только я сделал один результирующий набор, мне нужно перейти на другой, где есть еще 1,5 миллиона + результатов. Производительность этого довольно медленная, и мне интересно, следует ли использовать переменную table
, а не писать таблицу в базу данных temp.Временная таблица против переменной таблицы
EDIT
Я использую временную таблицу при выборе начальных 1.5million + записи.
Я предполагаю, что мне придется иметь еще один 'delete' в конце цикла while, чтобы очистить остаточные записи? –
Как это работает с 'Сделки'? Я бы положил начало 'transaction' внутри' while'? –
@ Ardman: Я так не думаю. Цикл while выходит, как только удаление удаляет меньше фиксированного размера партии (1000 записей в моем примере), что должно указывать на завершение всех желаемых удалений. Итак, если вы удаляете 1400 строк, цикл выполняется дважды, сначала удаляя 1000 записей, а 400 - следующий. 400 <1000 запускает разрыв. –