旁路导入性能

  • 问题
    旁路导入 LOADDATA性能如何优化呢?

  • 相关的测试结果:
    1x10^8 行数据导入耗时(4 min 43.150 sec)


    虽然上面开启并发 32, 但是 obloader.log 中并发并不高,接下来怎么优化


请问是使用obloader工具导入的吗,推荐使用这个参数对旁路导入进行优化

直接使用的是旁路导入里面的 LOADDATA,具体的链接见:
https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000218027


旁路导入是不支持红框内的指定列的,这条语句应该没有走旁路导入

该语句的具体并发度可以参考下表里的详细信息。obloader的日志仅供参考。
select * from oceanbase.__all_virtual_load_data_stat;

执行的 sql:

对应的并发度查询

上面的 direct 是不是表面走的“旁路导入"呀?

这里的并发度显示的和你设置的一致,都是32。
想要提升导入性能,可以把表的schema改成非分区表,或者把文件切分成并发数个同样大小的文件,但是你的数据量看起来不是很大,性能提升可能不会很明显。

我现在的文件只有一个 csv 文件,差不多 80G.

请教一下哈,LOADDATA 这个命令看起来好像是不支持一下多个文件吧? 是不是需要用 obloader工具呀?

是可以多文件导入的

有具体的语法示例吗? 我测试好像不太行

load data /*+ parallel(10) direct(true, 0) */ infile ‘…/test.2.0.csv,…/test.3.0.csv’ into table auto1 fields terminated by ‘|’ enclosed by ‘’’’ lines starting by ‘’ terminated by ‘\n’