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";