---
metadata:
  - name: generator
    content: Diplodoc Platform v5.52.0
alternate:
  - https://ydb.tech/docs/en/yql/reference/syntax/batch-delete.md
  - https://ydb.tech/docs/ru/yql/reference/syntax/batch-delete.md
  - href: ru/yql/reference/syntax/batch-delete.md
    type: text/markdown
    title: Markdown version
  - href: ../../../llms.txt
    type: text/markdown
    title: llms.txt
sourcePath: ru/core/yql/reference/syntax/batch-delete.md
---
> **Documentation Index:** Fetch the complete configuration index at https://ydb.tech/docs/ru/llms.txt

# BATCH DELETE FROM

{% note tip %}

Перед тем как изучать `BATCH DELETE FROM`, рекомендуется ознакомиться со стандартным [DELETE FROM](https://ydb.tech/docs/ru/yql/reference/syntax/delete.md).

{% endnote %}

`BATCH DELETE FROM` позволяет удалять записи в таблицах большого размера, минимизируя риск отмены блокировок и отката транзакций за счёт ослабления гарантий. Удаление данных выполняется в виде серии транзакций для каждой [партиции](https://ydb.tech/docs/ru/concepts/datamodel/table.md#partitioning_row_table) указанной таблицы отдельно, обрабатывая по 10 000 строк за итерацию. Каждый запрос обрабатывает не более 10 партиций одновременно.

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

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

* Поддерживается только для [строковых таблиц](https://ydb.tech/docs/ru/concepts/glossary.md#row-oriented-table).
* Поддерживается только в режиме [неявного контроля транзакций](https://ydb.tech/docs/ru/concepts/transactions.md#implicit).
* Запрещено использование подзапросов и нескольких выражений в одном запросе.
* Недоступно ключевое слово `RETURNING`.

## Пример

```yql
BATCH DELETE FROM my_table
WHERE Key1 > 1 AND Key2 >= "One";
```
