检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
典型SQL调优点 SQL调优是一个不断分析与尝试的过程:试跑Query,判断性能是否满足要求;如果不满足要求,则通过查看执行计划分析原因并进行针对性优化;然后重新试跑和优化,直到满足性能目标。 SQL自诊断 子查询调优 统计信息调优 算子级调优 长查询和长事务调优 父主题: SQL调优指南
工具对接 JDBC配置 父主题: 开发设计建议
DCL 表1 DCL语法兼容介绍 序号 概述 详细语法说明 差异 1 SET NAMES指定COLLATE字句 SET [ SESSION | LOCAL ] NAMES {'charset_name' [COLLATE 'collation_name'] | DEFAULT};
Oracle数据库 GaussDB数据库 1 文本字面量 支持 2 数值字面量 支持 3 日期时间字面量 支持 4 区间字面量 支持 父主题: SQL的基本元素
控制语句 表1 条件语句 序号 Oracle数据库 GaussDB数据库 1 IF THEN 支持 2 IF THEN ELSE 支持 3 IF THEN ELSIF 支持 4 simple CASE: CASE selector WHEN selector_value_1 THEN
截断告警。 输入格式:不支持转义字符输入,不支持""双引号输入。 输出格式:对于'\0'字符,查询结果表现为“\000”,使用jdbc驱动的getBytes接口获取表现为'\0'字符。 操作符:不支持算数运算符“+”、“-”、“*”、“/”、“%”;不支持常用逻辑运算符或、与、非(“||”、“&&”、“
图解云数据库GaussDB 图1 初识华为云数据库GaussDB
集中式版 概述 MySQL数据库兼容性B模式 MySQL数据库兼容性M-Compatibility模式 父主题: 与MySQL兼容性说明
与MySQL兼容性说明 分布式版 集中式版
截断告警。 输入格式:不支持转义字符输入,不支持""双引号输入。 输出格式:对于'\0'字符,查询结果表现为“\000”,使用jdbc驱动的getBytes接口获取表现为'\0'字符。 操作符:不支持算数运算符“+”、“-”、“*”、“/”、“%”;不支持常用逻辑运算符或、与、非(“||”、“&&”、“
流程控制函数 表1 流程控制函数列表 序号 MySQL数据库 GaussDB数据库 差异 1 IF() 支持,有差异。 当第一个参数为TRUE且第三个参数表达式中存在隐式类型转换错误,或者第一个参数为FALSE且第二个参数表达式中存在隐式类型转换错误时,MySQL会忽略该错误,GaussDB会提示类型转换错误。
MySQL同一会话中获取同一个表的锁,会自动释放上一个锁,并提交事务,M-Compatibility无该机制。 M-Compatibility中LOCK TABLE只能在一个事务块的内部有用,且无UNLOCK TABLE命令,锁总是在事务结束时释放。 7 PBE PBE 重复创建同名的PREPARE
GaussDB不支持'--+'hint形式。 具体信息请参见《开发指南》中“SQL调优指南 > 使用Plan Hint进行调优”章节。 父主题: SQL的基本元素
GaussDB数据库 差异 1 数据库对象命名规则 支持,有差异 GaussDB默认小写。 2 模式对象命名规则 支持 - 父主题: SQL的基本元素
MySQL数据库兼容性B模式 MySQL数据库兼容性概述 数据类型 系统函数 操作符 字符集 排序规则 表达式 SQL 驱动 父主题: 集中式版
GaussDB中NULLIF()类型推导遵从以下逻辑: 如果两个参数的数据类型不同,且两入参类型存在等值比较操作符,则返回对应等值操作符对应的左值类型,否则会对两入参类型进行强制类型兼容。 若强制类型兼容后,存在等值比较操作符,则返回强制类型兼容后对应等值操作符的左值类型。 若强制类型兼容后,仍找不到对应等值操作符,则报错。
差异 1 COALESCE() 支持,有差异。 union distinct场景下,返回值精度与MySQL不完全一致。 当第一个不为NULL的参数的后续参数表达式中存在隐式类型转换错误时,MySQL会忽略该错误,GaussDB会提示类型转换错误。当参数为MIN函数、MAX函数时,返回值类型与MySQL不一致。
GaussDB数据库兼容绝大多数MySQL的系统函数,但存在部分差异。只能使用M-Compatibility兼容模式下的系统函数,不能使用原GaussDB的系统函数,避免产生非预期的结果。当前存在原GaussDB的系统函数和MySQL系统函数同名,但是M-Compatibility兼容模式下尚未支持这些函数的情况;
Oracle不支持对into_clause的表设置别名,GaussDB支持。 into_clause指定sequence: Oracle:首次引用nextval会生成下一个数字,但所有非首次引用的nextval都将返回相同数字。 GaussDB:引用nextval生成的数字可以正常自增。 Ora
GaussDB数据库 1 IS NULL和IS NOT NULL 支持 2 NULLS in conditions 支持 父主题: SQL的基本元素