Как эффективно удалять строки, НЕ используя Truncate Table в таблице с более чем 500 000 строк

Допустим, у нас есть таблица Продажи с 30 столбцами и 500 000 строк. Я хотел бы удалить 400 000 в таблице (те, где"toDelete='1'").

Но у меня есть несколько ограничений:

  • таблица читается/записывается "часто" и мне бы не хотелось, чтобы длинное "удаление" занимало много времени и слишком долго блокировало таблицу
  • Мне нужно пропустить журнал транзакций (, как сTRUNCATE)но при выполнении"DELETE... WHERE..."(Нужно поставить условие ), но не нашел как это сделать...

Приветствуются любые советы по преобразованию

DELETE FROM Sales WHERE toDelete='1'

на что-то более секционированное и, возможно, без журнала транзакций.

27
задан Brian Tompsett - 汤莱恩 22 August 2015 в 19:47
поделиться