MySQL兼容性增强

可获得性

本特性自openGauss 3.0.0版本开始引入。

特性简介

本特性主要从以下几方面增强openGauss与MySQL的兼容性(只列举部分典型语法,详情请参见《数据迁移指南》中“MySQL兼容性说明”章节):。

支持用户锁,允许用户通过sql加自定义的锁,可以让多个程序之间完成加锁相关的交互过程,使得客户端从任何位置访问都可以得到一致性的锁视图。

支持建表插入数据时默认记录插入当前时间;更新数据时,如果未指定更新时间,默认显示数据变更的当前时间。

支持设置会话级SQL模式,允许运行时变更、全局变更以及会话内变更。

支持隐藏索引,隐藏索引不会被优化器使用。

支持字段大小写敏感。建表时使用的字段名将保留大小写的信息到系统表中,而真正使用这些列时,忽略大小写。

支持schema级、表级、列级设置和修改默认字符集和排序规则。

支持rand(N)/random_bytes(N)函数。

支持使用ASCII/BINARY作为列属性。

支持使用0x的方式作为十六进制数输入。

支持MySQL协议兼容,通过MySQL的JDBC driver或者MySQL命令行客户端,直接连接openGauss,通过参数hot_standby、dolphin_hot_standby控制备机的可连接性。

支持B库字符序右模糊匹配时走索引扫描。会将匹配条件转换为大于等于和小于等于两个不等式作为索引条件。

以下特性从6.0.0版本开始引入:

支持restrict模式下删除表时忽略视图和表的依赖,即当以restrict模式删除一个表时,如果一个视图是基于该表创建的,那么删除可以正常执行,该视图会被设为非法状态,查询时直接报错,但可以通过\d,\d+,desc,show create view等命名查看视图状态和创建逻辑。如果已删除的基表被重新创建,与视图所定义的结构一致(或包含),查询视图时会重新构建视图依赖,视图恢复正常状态,可以正常查询到结果。

支持straight_join,在内连接中强制左右表的顺序,以左表驱动右表,而不是以开销大小驱动优化器选择执行顺序。

支持interval内部表达式运算、列引用、预编译绑定参数用法。

performance,shrink关键字降级,从保留关键字降级为非保留关键字。

支持MySQL8.0.28版本及其以下驱动以及工具

支持SSL认证

支持caching_sha2_password认证方式

支持快速认证,新增缓存功能(密码快速认证,不需要SSL通信)

客户价值

通过设置用户锁,对数据、数据结构或者某些字符串进行保护,避免会话之间相互干扰,保证了信息的一致性和安全性。解决了用户业务数据写入与修改时,记录其操作时间戳的问题。通过设置sql模式,可以解决早期版本遗留问题与后期版本的兼容性。通过隐藏索引,可以在不禁用/删除/重建索引的情况下,测试删除某个索引对于查询性能的影响,提升SQL调优的效率。通过支持字段大小写敏感,可以让列名在查询时保持建表时的大小写信息。通过支持schema级、表级、列级设置和修改默认字符集和排序规则,可以让用户根据实际使用场景灵活调整字符集和排序规则。

意见反馈
编组 3备份
    openGauss 2025-02-18 22:54:22
    取消