检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
比较函数列表 序号 MySQL数据库 GaussDB数据库 差异 1 COALESCE() 支持,有差异。 union distinct场景下,返回值精度与MySQL不完全一致。 当第一个不为NULL的参数的后续参数表达式中存在隐式类型转换错误时,MySQL会忽略该错误,Gaus
字符串数据类型 表1 字符串数据类型 序号 MySQL数据库 GaussDB数据库 差异 1 CHAR(M) 支持,存在差异 输入格式: 输入二进制或十六进制字符串,GaussDB输出为十六进制,MySQL中根据ASCII码表转义,无法转义的输出为空。 2 VARCHAR(M) 支持,存在差异
表达式 GaussDB数据库兼容绝大多数MySQL的表达式,但存在部分差异。如未列出,表达式行为默认为GaussDB原生行为。 表1 表达式 序号 MySQL数据库 GaussDB数据库 1 用户自定义变量@var_name 部分支持 2 全局变量@@var_name 部分支持 父主题:
驱动 JDBC 父主题: MySQL数据库兼容性B模式
数字操作函数列表 序号 MySQL数据库 GaussDB数据库 差异 1 ABS() 支持。 - 2 ACOS() 支持。 - 3 ASIN() 支持。 - 4 ATAN() 支持。 - 5 ATAN2() 支持。 - 6 CEILING() 支持。 部分操作结果类型与MySQL不一致。对于
URNING、SOME、USER 不可以作为任意数据库标识符。 GaussDB优化器与MySQL的优化器存在差异,由于优化器生成的执行计划的差异,可能导致GaussDB行为与MySQL行为的不一致,不影响业务数据结果。 例如优化器对SQL语句做常数优化,会提前计算常量表达式,如xor操作符。
字符串数据类型 表1 字符串数据类型 序号 MySQL数据库 GaussDB数据库 差异 1 CHAR(M) 支持,存在差异 输入格式: 输入二进制或十六进制字符串,GaussDB输出为十六进制,MySQL中根据ASCII码表转义,无法转义的输出为空。 2 VARCHAR(M) 支持,存在差异
分区表对导入操作的性能影响 在GaussDB内核实现中,分区表数据插入的处理过程相比非分区表增加分区路由部分的开销,因从整体上分区表场景的数据插入开销主要看成:(1)heap-insert基表插入;(2)partition-routing分区路由两个部分,如图1所示。其中heap
加密函数 表1 加密函数列表 序号 MySQL数据库 GaussDB数据库 差异 1 AES_DECRYPT() 支持。 ecb为不安全加密模式,GaussDB不支持,默认为cbc模式。 GaussDB中,当指定数据库使用的字符编码是SQL_ASCII时,服务器把字节值0-127
MySQL数据库兼容性M-Compatibility模式 MySQL数据库兼容性概述 数据类型 系统函数 操作符 字符集 排序规则 事务 SQL 计划外应用无损透明 父主题: 集中式版
二进制数据类型 表1 二进制数据类型 序号 MySQL数据库 GaussDB数据库 差异 1 BINARY[(M)] 不支持 - 2 VARBINARY(M) 不支持 - 3 TINYBLOB 支持 取值范围:表现规格为BYTEA类型。不支持长度限制255字节(最大不超过1G),
围大于MySQL,但是越界仍然算无效日期。 大部分时间函数会告警并返回NULL,只有能通过cast正常转换的日期,才是正常合理的日期。 新框架下GaussDB的大部分日期时间函数与MySQL一致,一些函数的差异如下表所示: 表1 日期与和时间函数列表 序号 MySQL数据库 GaussDB数据库
ility会报已经存在的错误,需要先删除已有statement,MySQL会覆盖旧的statement。 M-Compatibility和MySQL在SQL语句执行过程中对异常场景的报错阶段不同,例如解析层、执行层等;而PREPARE语句对预备语句只处理到解析层。因此PBE下对于
ility会报已经存在的错误,需要先删除已有statement,MySQL会覆盖旧的statement。 M-Compatibility和MySQL在SQL语句执行过程中对异常场景的报错阶段不同,例如解析层、执行层等;而PREPARE语句对预备语句只处理到解析层。因此PBE下对于
字符串函数 表1 字符串函数列表 序号 MySQL数据库 GaussDB数据库 差异 1 ASCII() 支持。 - 2 BIT_LENGTH() 支持。 - 3 CHAR_LENGTH() 支持,有差异。 GaussDB此函数如果数据库字符集是SQL_ASCII,CHAR_LENGTH()会返回字节数而非字符数。
字符串函数 表1 字符串函数列表 序号 MySQL数据库 GaussDB数据库 差异 1 ASCII() 支持。 - 2 BIT_LENGTH() 支持。 - 3 CHAR_LENGTH() 支持,有差异。 GaussDB此函数如果数据库字符集是SQL_ASCII,CHAR_LENGTH()会返回字节数而非字符数。
第一个参数不为NULL且第二个参数表达式中存在隐式类型转换错误时,MySQL会忽略该错误,GaussDB会提示类型转换错误。 3 NULLIF() 支持,有差异。 函数返回值类型在MySQL5.7和MySQL8.0中存在差异,考虑到MySQL8.0更合理,因此函数返回值类型兼容MySQL8.0。 父主题: 系统函数
示例:从MYSQL进行数据迁移 下面示例演示如何通过CopyManager从mysql进行数据迁移的过程。执行示例前,需要加载驱动,驱动的获取和加载方法请参考JDBC包、驱动类和环境类。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
网络地址函数 表1 网络地址函数列表 序号 MySQL数据库 GaussDB数据库 差异 1 INET_ATON() 支持。 - 2 INET_NTOA() 支持。 - 3 INET6_ATON() 支持。 - 4 INET6_NTOA() 支持,有差异。 GaussDB中,有效
认情况下会与MySQL有一定差异,需要设置GUC参数set standard_conforming_strings= off;的情况下,对于转义字符的场景才会与MySQL兼容,但是会产生非标准字符输入的warning告警,在转义字符中\t、\u与转义数字与MySQL有差异。JSO