oceanbase4.2.1.8 和 mysql5.7 对比
1.查询版本2.OceanBase体系OceanBase 并不是基于 MySQL 体系,但它在一定程度上兼容了 MySQL 的功能和语法,这使得 Navicat 能够连接到 OceanBase 数据库。
1.查询版本
obclient(root@(none))[oceanbase]> select version();
+------------------------------+
| version() |
+------------------------------+
| 5.7.25-OceanBase_CE-v4.2.1.8 |
+------------------------------+
1 row in set (0.019 sec)
2.OceanBase体系
OceanBase 并不是基于 MySQL 体系,但它在一定程度上兼容了 MySQL 的功能和语法,这使得 Navicat 能够连接到 OceanBase 数据库。以下是具体原因和相关说明:
OceanBase 与 MySQL 的关系
-
架构不同:OceanBase 是一款分布式关系型数据库,采用了不同于 MySQL 的架构设计,其存储引擎基于 LSM-Tree 架构,而 MySQL 常用的存储引擎是 InnoDB 和 MyISAM。
-
兼容性设计:尽管架构不同,但 OceanBase 为了方便用户从传统数据库迁移,提供了对 MySQL 的兼容性支持。它兼容了 MySQL 5.7 的绝大部分功能和语法,以及 MySQL 8.0 版本的部分 JSON 函数。这意味着很多熟悉 MySQL 的用户可以较为平滑地过渡到 OceanBase,而不需要对应用程序做大量修改。
Navicat 连接 OceanBase 的原因
-
工具适配:Navicat 作为一款通用的数据库管理工具,能够通过各个数据库提供的 JDBC 驱动连接数据库。对于 OceanBase,Navicat 已经实现了对其全线数据库产品的适配,包括社区版和企业版(兼容 MySQL 模式和 Oracle 模式)。
-
MySQL 模式支持:当 OceanBase 数据库创建了 MySQL 模式的租户时,Navicat 可以使用自带的 OceanBase 驱动或 MySQL 驱动来连接该租户。这使得用户可以像连接普通 MySQL 数据库一样连接 OceanBase,只要正确配置连接信息,如主机地址、端口号、用户名和密码等。
使用注意事项
-
版本要求:使用 Navicat 连接 OceanBase 需要确保 Navicat 的版本在 16.1.9 或更高。
-
连接配置:在配置连接时,用户需要根据实际情况选择合适的连接方式,如直连或通过 OBProxy 代理,并正确填写相应的端口号。
-
功能差异:尽管 OceanBase 兼容了 MySQL 的很多功能,但仍有部分功能和特性存在差异,用户在从 MySQL 迁移到 OceanBase 或使用 Navicat 管理 OceanBase 数据库时,需要注意这些差异,以免出现兼容性问题。
3.参考文档
https://www.oceanbase.com/docs/enterprise-oceanbase-database-cn-10000000000354623

存储引擎
与 MySQL 数据库基于数据块的 InnoDB 和 MyISAM 引擎不同,OceanBase 数据库使用的是基于 LSM-Tree 架构的存储引擎。
优化器
OceanBase 数据库在优化器方面与 MySQL 数据库的区别,主要表现在以下几个方面:
-
查看执行计划的命令
-
输出的列信息仅包含
ID、OPERATOR、NAME、EST. ROWS和COST以及算子的详细信息。 -
不支持使用
SHOW WARNINGS显示额外的信息。
-
-
查看统计信息
-
支持执行
ANALYZE TABLE语句查询数据字典表存储有关列值的直方图统计信息。 -
支持通过内部表
__all_meta_table查看表统计信息和列统计信息。
-
-
查询改写优化
-
支持外联接优化
-
支持外联接简化
-
支持块嵌套循环和批量 Key 访问联接
-
支持条件过滤
-
支持常量叠算优化
-
支持
IS NULL优化 (索引不存储NULL值) -
支持
ORDER BY优化 -
支持
GROUP BY优化 -
支持
DISTINCT消除 -
支持
LIMIT下压 -
支持 Window 函数优化
-
支持避免全表扫描
-
支持谓词下压
-
-
Optimizer Hint 机制
-
支持联接顺序 Optimizer Hints
-
支持表级别的 Optimizer Hints
-
支持索引级别的 Optimizer Hints
-
语法支持
INDEXHint、FULLHint、ORDEREDHint 和LEADINGHint 等。
-
-
兼容 MySQL 数据库的并行执行能力包括并行查询、并行复制和并行写入等,且 OceanBase 数据库已经支持并行算子,包括并行聚集、并行联接、并行分组以及并行排序等。
-
OceanBase 数据库还支持计划缓存和预编译,MySQL 数据库并不支持。
add更新20250328
docker中安装mysql 基于centos7环境下
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://dockerproxy.com",
"https://registry.docker-cn.com",
"https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com",
"https://hub.uuuadc.top",
"https://docker.anyhub.us.kg",
"https://dockerhub.jobcher.com",
"https://dockerhub.icu",
"https://docker.ckyl.me",
"https://docker.awsl9527.cn",
"https://mirror.baidubce.com"
]
}
EOF
重启docker服务
systemctl daemon-reload
systemctl restart docker
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)