检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
基于JDBC开发 JDBC开发流程 JDBC包与驱动类 加载驱动 连接数据库 执行SQL语句 处理结果集 常用JDBC开发示例 应用端加工RoaringBitmap结果集并入库GaussDB(DWS)开发示例 JDBC接口参考 父主题: 使用JDBC或ODBC进行GaussDB(DWS)二次开发
icrosoft公司基于X/OPEN CLI提出的用于访问数据库的应用程序编程接口。应用程序通过ODBC提供的API与数据库进行交互,在避免了应用程序直接操作数据库系统的同时,增强了应用程序的可移植性、扩展性和可维护性。 ODBC的系统结构参见图1。 图1 ODBC系统结构 Ga
分析作业是否被阻塞 数据库系统运行时,在某些业务场景下查询语句会被阻塞,导致语句运行时间过长,可以强制结束有问题的会话。 操作步骤 查看阻塞的查询语句及阻塞查询的表、模式信息。 1 2 3 4 5 6 7 8 9 10 11 SELECT w.query as waiting_query
执行去重会消耗大量的时间,因此,在一些实际应用场景中,如果通过业务逻辑已确认两个集合不存在重叠,可用union all替代union以便提升性能。 优化后的SQL查询由两个等值join的子查询构成,而每个子查询都可以走更适合此场景的hashjoin。优化后的执行计划如下 优化后
mytab; 当控制到达给y赋值的地方时,会有一个division_by_zero错误失败。这个错误将被EXCEPTION子句捕获。而在RETURN语句里返回的数值将是x的增量值。 进入和退出一个包含EXCEPTION子句的块要比不包含的块开销大的多。因此,不必要的时候不要使用EXCEPTION。
GOTO语句 GOTO语句可以实现从GOTO位置到目标语句的无条件跳转。GOTO语句会改变原本的执行逻辑,因此应该慎重使用,或者也可以使用EXCEPTION处理特殊场景。当执行GOTO语句时,目标Label必须是唯一的。 语法 label declaration ::= goto
开发前准备 如果用户在APP的开发中,使用了连接池机制,那么需要遵循如下规范: 如果在连接中设置了GUC参数,那么在将连接归还连接池之前,必须使用“SET SESSION AUTHORIZATION DEFAULT;RESET ALL;”将连接的状态清空。 如果使用了临时表,那么
Connectivity,开放数据库互连)是由MS公司基于X/OPEN CLI提出的用于访问数据库的应用程序编程接口。应用程序通过ODBC提供的API与数据库进行交互,在避免了应用程序直接操作数据库系统的同时,增强了应用程序的可移植性、扩展性和可维护性。 ODBC的系统结构参见图1。 图1 ODBC系统结构 Ga
关告警。对于这种告警,建议的优化方案是对相关表进行ANALYZE,可参考更新统计信息和统计信息调优。 需要特别注意的是,如果查询语句中的OBS外表和HDFS外表未收集统计信息,也会上报统计信息未收集的告警,因为OBS外表和HDFS外表的ANALYZE的性能比较差,一般不建议对其进
Hint进行调优 Plan Hint调优概述 Join顺序的Hint Join方式的Hint 行数的Hint Stream方式的Hint Scan方式的Hint 子链接块名的hint 运行倾斜的hint 配置参数的hint Hint的错误、冲突及告警 Plan Hint实际调优案例 父主题:
ind_argument前的修饰符与对应参数的修饰符一致。 匿名块中间的输入输出参数使用占位符来指明,要求占位符个数与参数个数相同,并且占位符所对应参数的顺序和USING中参数的顺序一致。 目前GaussDB(DWS)在动态语句调用匿名块时,EXCEPTION语句中暂不支持使用占位符进行输入输出参数的传递。
自连接(两个相同的表之间连接)的估算中更加准确。下面查询的例子是cost_param的bit0为1时的优化场景。V300R002C00版本开始已弃用cost_param & 1不为0时的路径,默认选择已优化的估算公式。 选择率是两表join时,满足join条件的行数在join结果集中所占的比率。
close(); 重新执行应用SQL 当主DN故障且40s未恢复时,GaussDB(DWS)会自动将对应的备DN升主,使集群正常运行。备升主期间正在运行的作业会失败;备升主后启动的作业不会再受影响。如果要做到DN主备切换过程中,上层业务不感知,可参考此示例构建业务层SQL重试机制。
指定子查询不提升的Hint。仅8.2.0及以上集群版本支持。 指定配置参数值的Hint,仅支持部分配置参数,详见配置参数的hint。 注意事项 不支持Sort、Setop和Subplan的hint。 不支持SMP和Node Group场景下的Hint。 不支持对INSERT语句的目标表使用Hint。
关敏感信息;在使用ODBC的连接API时,再传入所需的用户名、密码信息。 SSL模式。 如果需要使用SSL证书连接,那么请将GaussDB(DWS)安装包中的SSLCERT的证书包解压,双击“sslcert_env.bat”文件,即可完成证书的默认位置的部署。 该sslcert_env
这是因为解绑了EIP后,会导致网络断开。但是此过程中,TCP协议层因keepalive等的设置,无法及时识别物理连接已经故障,导致gsql,ODBC和JDBC等客户端无法及时识别网络故障。 客户端等待数据库返回的时间与keepalive参数的设置相关,具体可以表示为:keepalive_time + keepalive_probes
(1 row) JOB的权限控制。 当创建一个JOB时,该JOB会和创建该JOB的数据库和用户绑定(即:pg_job系统视图新增的JOB记录中的dbname和log_user)。 如果当前用户是DBA用户、系统管理员、该JOB的创建用户(即:pg_job中的log_user),那
(1 row) JOB的权限控制。 当创建一个JOB时,该JOB会和创建该JOB的数据库和用户绑定(即:pg_job系统视图新增的JOB记录中的dbname和log_user)。 如果当前用户是DBA用户、系统管理员、该JOB的创建用户(即:pg_job中的log_user),那
子链接块名的hint 功能描述 指明子链接块的名称。 语法格式 1 blockname (table) 参数说明 table表示为该子链接块hint的别名的名称。 blockname hint仅在对应的子链接块提升时才会被上层查询使用。目前支持的子链接提升包括IN子链接提升、E
指定子查询不提升的hint 功能描述 优化器在对查询进行逻辑优化时通常会将可以提升的子查询提升到上层以避免嵌套执行,但对于某些场景,嵌套执行不会导致性能下降过多,而提升之后扩大了查询路径的搜索范围,可能导致性能变差。对于此类情况,可以使用no merge hint指定子查询不提升