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

Откуда: Белгород
Сообщений: 458
Имеем таблицу с 10 млн записей, из которых 8 млн примерно "пустышки"
нужно удалить все строки по определенным условиям...
делаю следующим способом:
declare @rc int
set @rc=1
set ROWCOUNT 1000
while @rc>0 begin
  delete FROM dbo.TableData WHERE ValueString = '' and ValueInt = 0 (т.е. "пустышка")
  set @rc=@@rowcount
  while @@trancount>0 commit
end

Какие еще есть способы?
5 дек 12, 17:24    [13583170]     Ответить | Цитировать Сообщить модератору
 Re: Наиболее оптимальный и быстрый способ почистить таблицу  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 35398
Блог
Алексей Кр,

скопировать нужные, удалить исходную таблицу
5 дек 12, 17:35    [13583246]     Ответить | Цитировать Сообщить модератору
 Re: Наиболее оптимальный и быстрый способ почистить таблицу  [new]
SergePnb
Member

Откуда: Киев
Сообщений: 456
Алексей Кр,

Покажите скрит таблицы, indexes, contsraints etc. Тогда можно будет что-то сказать.
5 дек 12, 17:35    [13583248]     Ответить | Цитировать Сообщить модератору
 Re: Наиболее оптимальный и быстрый способ почистить таблицу  [new]
Добрый Э - Эх
Guest
Критик
удалить исходную таблицу
а truncate не лучше будет?
6 дек 12, 04:55    [13585254]     Ответить | Цитировать Сообщить модератору
 Re: Наиболее оптимальный и быстрый способ почистить таблицу  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31990
Добрый Э - Эх
Критик
удалить исходную таблицу
а truncate не лучше будет?
Тогда придётся ещё раз переливать данные, зачем это нужно?
6 дек 12, 09:00    [13585518]     Ответить | Цитировать Сообщить модератору
 Re: Наиболее оптимальный и быстрый способ почистить таблицу  [new]
Добрый Э - Эх
Guest
alexeyvg,

чтобы не потерять разрешения на таблицу и прочие, связанные с ней, объекты (индексы, триггера, ограничения ссылочной целостности)
6 дек 12, 09:07    [13585541]     Ответить | Цитировать Сообщить модератору
 Re: Наиболее оптимальный и быстрый способ почистить таблицу  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31990
Добрый Э - Эх
alexeyvg,

чтобы не потерять разрешения на таблицу и прочие, связанные с ней, объекты (индексы, триггера, ограничения ссылочной целостности)
Конечно, придётся всё это заново создавать. Это плата за скорость.

Иначе вообще можно делать DELETE, как изначально написано.
6 дек 12, 10:02    [13585741]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить