功能描述
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