OceanBase中主键和唯一键有什么区别?

OceanBase中主键和唯一键有什么区别?

@论坛小助手

在 OceanBase 中,主键和唯一键的主要区别在于:

  1. 主键不仅唯一标识表中的每一行数据,还用于构建表的存储结构。OceanBase 数据库中的表都是索引组织表(IOT),即表的数据按照主键索引的顺序存储。因此,每个表最多只能有一个主键,并且主键不能为空(NOT NULL)。此外,主键在 OceanBase 中还自动创建了一个全局唯一索引,以便快速定位到行。
  2. 唯一键仅保证表中某个列或列组合的值是唯一的,但并不像主键那样用于构建表的存储结构。唯一键可以为空(NULL),并且一个表中可以有多个唯一键。唯一键主要用于确保数据的完整性,防止重复数据的插入。

更多信息请查看:

  1. 主键表和无主键表
  2. OceanBase 数据库在 MySQL 模式租户下的扩展功能