OceanBase 必会知识点:与 MySQL 兼容性那些关键细节

为了考证,慢慢学习

一、核心必会知识点

  1. OB 没有传统 InnoDB 引擎 底层是自研的 LSM-Tree 架构存储,数据以 SSTable 形式持久化,内存中缓存活跃数据,读写性能更适合分布式场景,不能用 ENGINE=InnoDB

  2. 默认分区表,而非普通堆表 建表建议搭配分区(RANGE/LIST/HASH),分布式架构下分区是并行查询、负载均衡、扩容缩容的基础,大表不分区极易出现性能瓶颈。

  3. 事务与隔离级别 支持 RC/Serializable,不支持 MySQL 的 RR(可重复读),分布式事务用 2PC(两阶段提交) 保证跨节点数据强一致。

  4. 索引与主键强制要求 每张表必须有主键,无主键会严重影响写入与查询效率;二级索引会自动包含主键列,查询尽量走主键 / 分区键 + 索引

  5. 兼容模式区分MySQL 模式Oracle 模式,函数、语法、数据类型不互通,建库时指定后不可随意切换。