OceanBase与MySQL兼容性对比

发布时间:2024年01月13日

OB针对于高并发和大数据更有优势,公司的dba让我们把数据从mysql迁移到OceanBase了,这里记录一下OceanBase的MySQL模式。
OceanBase的MySQL模式兼容MySQL5.7的绝大部分功能和语法,兼容MySQL5.7版本的全量以及8.0版本的部分JSON函数。

暂不支持的功能:

  1. OceanBase暂不支持空间数据类型和部分json类型,其他类别的数据类型支持情况是等于或大于MySQL数据库的。
  2. 不支持 SELECT…FOR SHARE语法
  3. 支持create table…as select。不过该语句复制的是表的基本数据类型,对于主键、唯一约束和索引信息等不会复制。
  4. 不支持直接对子查询进行insert、update、delete操作。
  5. TRUNCATE操作不支持在进行事务处理和表锁定的过程中操作。
  6. 支持的字符集和排序规则:字符集:binary、utf8mb4,字符序:utf8mb4_general_ci、utf8mb4_bin和binary。
  7. OceanBase不支持冷备份、不支持数据库和表级的备份恢复、不支持备份数据的有效性验证。
  8. 对于优化器,查看执行计划的命令不支持使用
  9. SHOW WARNINGS显示额外的信息;不支持执行
  10. ANALYZETABLE查询数据字典中表存储有关列值的直方图统计信息。
  11. 不支持的alter操作:添加主键、删除主键、设置列约束NOT NJULL、添加外键、转换字符集;
  12. 支持修改列类型:兼容类型向上修改,例如:int改bigint、varchar改text,blob改lob 改 long blob等;不兼容类型修改,例如:int改varchar、char char 改 varchar等。OceanBase不支持带not null的alter语句写在一条alter语句里,需要分成多条alter语句提交
  13. OceanBase数据库中加列、减列、建索引等DDL操作都那是不阻塞读写的,也不会影响到多副本间的paxos同步
  14. 不支持如下函数:
1 数学函数:DEGREES()2 日期时间函数:ADDTIME()和DAYNAME()3 字符串函数:LOAD_FILE()MATCH、OCTET_LENGTH()、SOUNDIEX()SOUNDS LIKE和WEIGHT_STRING()4 强制转换函数:BINARY5 XML函数:ExtractValue()和UpdateXML()6 加密和压缩函数:AES_DECRYPT()、AES_ENCRYPT()、COMPRESS()、RANDOM_BYTES()、SHA1(),SHA()、SHA2()、UNCOMPRESS() 和 UNCOMPRESSED_LENGTH()7 锁定函数:GET_LOCK()、IS_FREE_LOCK()、IS_USED_LOCK()、RELEASE_ALL_LOCKS()和RELEASE_LOCK()8 信息函数:BENCHMARK()SCHEMA()9 聚合函数:BIT_AND()、BIT_OR()和BIT_XOR()10 其他函数:IS_IPV4_COMPAT()、MASTER_POS_WAIT()、NAME_COONST()和UUID()
11 空间分析函数和性能模式函数。
文章来源:https://blog.csdn.net/Kenard/article/details/135574268
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。