为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
- 【TiDB 版本】:tidb 4.0
- 【问题描述】:
为什么insert into 批量提交的方式速度比loader 速度慢很多,这两者在导入的的时候分别对数据做了什么操作,以及影响效率的因素有哪些
若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。
为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
loader 是多线程导入,导入性能和 tidb 的写入,是否存在写入热点,loader 线程在集群承受压力范围内是否调整的够大,都有关系。
loader导入 tidb方式还是insert吗?
主要是看 insert 的表结构,因为如果 insert batch 写入方式也会可能出现大量的 prewrite wait 情况,导致写入时间长。具体可以看看场景差异,loader 会有一些并发设置用来提效的。
场景:insert 的方式是insert into table values(val1…),(val2…),(val3…)这种方式,以和loader相同的并发数,批量导入同一张表,速度相差很大,所以想了解以下这个时间耗时差别为什么那么大
多 values 比 多线程导入慢是预期的吧,而且 loader 也是 batch insert。