全部产品
云市场

DLA如何调整JDBC查询并发度

更新时间:2019-12-24 16:14:26

使用DLA扫描线上数据例如RDS时,如果RDS实例规格比较小,可能无法支撑默认的JDBC Connector并发度。您可以在DLA中引入Hint/*+jdbc-scan-splits=2*/,指定扫描一个数据表时的JDBC Connector并发度。

  1. mysql> /*+jdbc-scan-splits=2*/select count(*) from customer;
  2. +----------+
  3. | count(*) |
  4. +----------+
  5. | 15000002 |

上述customer表对应RDS MySQL数据库中的customer表。DLA扫描RDS MySQL的customer表时,会使用两个线程同时扫描数据。

注意事项

  • 待扫描目标表必须有一个自增主键,否则无法使用Hint调整查询并发度。

    对于有自增主键的表,您可以按照自增主键把一个查询切分成多个子查询提高查询并发度。

    1. -- 原始SQL
    2. select * from customer;
    3. -- 切分成如下的子查询
    4. select * from customer where id >=0 and id <=10000;
    5. select * from customer where id >=10000 and id <=20000;
  • DLA默认并发度是20,对于一些规格配置较低或者复杂数据库,可以将默认并发度适当调低。

  • DLA最大并发度是500。