对于JDBC类数据源,比如MySQL/SQLServer/PostgreSQL/AnalyticDB/AdbPG/Druid等等,我们拉取数据的时候默认是单线程拉取,这个在大多数场景是足够使用的,但如果你需要加快读取性能,可以通过如下方法加速:
- 如果您的底层RDS性能比较好,你可以通过
jdbc-splits-scan
来采用多个线程并发拉数据。
/*+jdbc-scan-splits=5*/ select * from tbl1;
- 执行引擎默认会选择每一列作为切分列,如果你希望自己指定切分列,可以通过jdbc-split-column指定,需要注意的是,切分列的类型只支持INT/BIGINT和带索引的CHAR/VARCHAR类型,如果选择的切分列不属于上述类型,执行引擎会自动忽略这个参数。
/*+jdbc-split-column=columnName1*/ select * from tbl1;