INSERT INTO VALUES 为什么不适合于生产环境

image
如图,为什么INSERT INTO VALUES不适用于任何测试和生产环境呢? 好像ck等olap引擎都是采用的INSERT INTO VALUES来进行数据导入的呀

insert into 有两种语法 insert into values 和 insert into select 前者StarRocks不推荐线上大规模使用,后者是可以的。主要原因是insert into values受限于mysql的协议导入效率不高,而且StarRocks需要微批导入,不希望几百几千行数据就导入一次。
ck也是推荐使用insert into select的方式来导入,如果用insert into values写入大量版本也同样出现too many parts等错误。

1赞

用 mysql -h127.0.0.1 -P9030 -uroot -pxxx db_test < test.sql 类似这样的命令,导入大量insert语句还是比较方便。

用的过程中,发现表中只能导入500条,并且速度很慢,500条之后,还报了错
delta_writer.cpp:106] failed to init delta writer. version count: 501, exceed limit: 500. tablet: 13742.288259978.7e48f5c49e5acdef-d4cc32c8d1a778b3

3.0 文档好像没有这个说法了。使用 insert into values 每1000条插入一次 也可以,要控制好插入的速度。

蛮奇怪的限制,mysql里,multi values是快速导入的方式呀