
# 如何优化Batch Insert语句
Batch Insert语句是常见的数据库写入数据的方式，DDM兼容MySQL协议和语法，Batch Insert语法为：
INSERT \[IGNORE\] \[INTO\] table_name(column_name, ...) VALUES (value1, ...), (value2, ...), ...;
影响Batch Insert性能的主要因素包括：
- split chunk size
- 并行度
- 分片数目
- 列数目
对于并行度、分片数目、列数等内需因素，根据实际需求进行设置，并且常常会和读性能相互影响。本文主要聚焦于split chunk size的合理设置。
#### 通过HINT修改split_chunk_size值（默认值1000）
命令格式：
/\*+split_chunk_size=2000\*/\<INSERT VALUES的命令\>
描述：
参数BATCH_INSERT_POLICY设置为SPLIT，然后通过以下示例验证split_chunk_size为2000的性能，从测试的结果来看split_chunk_size超过1000以后提升并不明显。
示例：
/\*+split_chunk_size=2000\*/insert into tbl(name) values("zhangsan"),("lisi")....;
![](https://support.huaweicloud.com/usermanual-ddm/public_sys-resources/note_3.0-zh-cn.png)
DDM 3.1.5.0版本及以上支持设置BATCH_INSERT_POLICY参数，默认值为NONE，默认拆分大小为1000。
