BATCH LIMIT

最近更新时间:2026-02-11 14:13:02

我的收藏

功能描述

BATCH 语句将大事务拆分成若干个小事务,整个流程不保证原子性,但每批次保持原子性。
目前 BATCH 语句支持 DELETE操作。

语法

BATCH LIMIT batch_size delete_stmt

参数说明

参数
是否必选
说明
LIMIT batch_size
必选
控制事务拆分的粒度,设置非事务批量删除每批的大小。
delete_stmt
必选
删除语句。

注意事项

不支持多表删除。
不能在多语句事务中嵌套使用 BATCH 语句。
batch_size必须为正整数,不能为0。
WHERE 子句中不支持使用ORDER BY LIMIT子句。

示例

如下所示,删除的数据为10000条,batch_size为2000,则在删除数据时每2000条进行一次事务提交,即一个小事务包含2000条删除数据。
BATCH LIMIT 2000 DELETE FROM sbtest1 WHERE id > 1000