全部产品
云市场

应用开发向导

更新时间:2019-08-13 22:31:30

连接分析型数据库MySQL版推荐的方式是什么?druid-jdbc?tddl?

当使用JDBC连接池连接分析型数据库MySQL版时,推荐使用Druid连接池,且尽量使用最新版本。Druid参考链接:单击此处

注意:关于Druid连接池配置,请务必按照如下配置项进行配置:

  1. - maxActive: 100(最大值根据业务并发量来定,建议该值大于等于业务并发数)
  2. - initialSize: 5
  3. - maxWait: 60000
  4. - minIdle: 10
  5. - maxIdle: 20
  6. - timeBetweenEvictionRunsMillis: 2000
  7. - minEvictableIdleTimeMillis: 600000
  8. - maxEvictableIdleTimeMillis:900000
  9. - validationQuery: show status like '%Service_Status%';
  10. - testWhileIdle: true
  11. - testOnBorrow: false
  12. - testOnReturn: false
  13. - removeAbandoned: true
  14. - removeAbandonedTimeout: 180

使用SQL开发工具访问分析型数据库MySQL版,推荐使用哪种连接方式?

分析型数据库MySQL版完全兼容MySQL协议,基本上能访问MySQL的客户端都能用户访问分析型数据库MySQL版,推荐使用官方客户端DMS for AnalyticDB和开源工具DBeaver连接分析型数据库MySQL版。

w2

上述报错文本如下:

  1. Communications link failureThe last packet successfully received from the server was 0 millisecond ago.The last packet successfully sent to the server was YYYY millisecond ago
  • 上述报错可以确定用户的JDBC URL错误或者网络不通。可以使用mysql客户端测试是否可以连接数据库。

  • 检查本地的MySQL驱动版本;我们支持的版本有如下所示。

    5.0系列:5.0.2,5.0.3,5.0.4,5.0.5,5.0.7,5.0.8

    5.1系列:5.1.1,5.1.2,5.1.3,5.1.4,5.1.5,5.1.6,5.1.7,5.1.8,5.1.11,5.1.12,5.1.13,5.1.14,5.1.15,5.1.16,5.1.17,5.1.18,5.1.19,5.1.20,5.1.21,5.1.22,5.1.23,5.1.24,5.1.25,5.1.26,5.1.27,5.1.28,5.1.29,5.1.31, 5.1.32, 5.1.33, 5.1.34

  • 是否采用连接池连接分析型数据库MySQL版,若不是,请采用连接池连接,推荐采用Druid。

  • 应用是否多线程访问分析型数据库MySQL版,线程之间是否共享使用Connection对象?如有,请修改,强烈建议不要在多线程之间共享使用Connection对象。

  • 如果报错中的millisecond值不为0,则基本由耗时很长的查询导致请在代码中加入重试机制。重试机制示例请参见Java访问-带重试的JDBC连接示例

分析型数据库MySQL版 SQL语句中怎么加多个hint?

多个hint可以通过逗号进行分隔,示例如下。

  1. /+engine=MPP, mppNativeInsertFromSelect=true/INSERT INTO db_name.target_table_name (col1, col2, col3)
  2. SELECT col1, col2, col3 FROM db_name.source_table_name
  3. WHERE col4 = '123';

使用MySQL Client时,Hint无法正常生效。

用户在进行MPP下DUMP的时候,通过MYSQL客户端连接无法正常DUMP,hint没有被识别。

使用MYSQL客户端连接分析型数据库MySQL版,需要指定-c参数进行连接,否则后续查询的hint可能无效。