# mysql.batch

## 功能

设置批量 exec 的每批行数。

## 语法

```bt
mysql(dsn).query(sql).batch(size)
```

## 参数

| 参数 | 类型 | 必填 | 默认值 | 说明 |
| ------ | ------ | ------ | ------ | ------ |
| size | Int | 否 | 0 | 批量大小；小于 0 按 0 处理。 |

## 返回值

| 类型 | 说明 |
| ------ | ------ |
| Mysql | 返回新的 MySQL 查询构建器。 |

## 示例

```bt
rows = [['A'], ['B'], ['C']]
db = mysql('mysql://user:pass@127.0.0.1/test')
result = db.query('insert into user(name) values (?)').binds(rows).batch(2).sql()

// 输出：insert into user(name) values ('A'), ('B') /* binds: 3 rows, batch: 2, workers: 1 */
print result
```

## 注意事项

- batch(0) 表示 INSERT 批量预览和优化时使用全部行；非 INSERT 执行时按 1 行批次处理。
