BATCH DELETE FROM

Совет

Перед тем как изучать BATCH DELETE FROM, рекомендуется ознакомиться со стандартным DELETE FROM.

BATCH DELETE FROM позволяет удалять записи в таблицах большого размера, минимизируя риск отмены блокировок и отката транзакций за счёт ослабления гарантий. Удаление данных выполняется в виде серии транзакций для каждой партиции указанной таблицы отдельно, обрабатывая по 10 000 строк за итерацию. Каждый запрос обрабатывает не более 10 партиций одновременно.

Данный запрос, как и стандартный DELETE FROM, выполняется синхронно и завершается с некоторым статусом. В случае возникновения ошибки или отключения клиента удаление данных останавливается, применённые изменения не откатываются.

Семантика наследуется от стандартного DELETE FROM с ограничениями:

  • Поддерживается только для строковых таблиц.
  • Поддерживается только для неявного контроля транзакции (режим NoTx или EmptyTxControl в SDK).
  • Запрещено использование подзапросов и нескольких выражений в одном запросе.
  • Недоступно ключевое слово RETURNING.

Пример

BATCH DELETE FROM my_table
WHERE Key1 > 1 AND Key2 >= "One";
Предыдущая
Следующая