BATCH

最近更新时间:2025-11-18 10:10:22

我的收藏

功能描述

BATCH 语句将大事务拆分成若干个小事务,整个流程不保证事务特性,但拆分的小事务需要保证事务特性。
目前 BATCH 语句支持 DELETE

注意事项

目前只支持单表删除,不能嵌套在多语句事务中,batch_size不为0。
删除语句执行时需先找到表对应的 RG Leader 的 SQLEngine,再通过 mysql_client 连接上去执行 DELETE 语句,避免过多 RPC 带来的性能损耗。

语法

BATCH LIMIT batch_size delete_stmt

参数说明

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

示例

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