开发者社区 问答 正文

OceanBase数据库日志归档的时候,有要求表一定要有主键吗?

OceanBase数据库日志归档的时候,有要求表一定要有主键吗??
表中没有主键和显示索引,能日志归档成功吗?

展开
收起
真的很搞笑 2023-12-12 20:11:21 264 分享 版权
来自: OceanBase
2 条回答
写回答
取消 提交回答
  • 如果没有指定主键,OB 会生成内部自增列作为主键(名字:__pk_increment ) ,此回答整理自钉群“[社区]技术答疑群OceanBase”

    2023-12-13 13:28:46
    赞同 展开评论
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    OceanBase数据库的日志归档功能是否受表结构影响主要取决于表中是否包含主键。如果表中包含主键,那么支持进行归档。这主要是因为在主键表中,每一条记录都是唯一的,可以被唯一确定,因此便于归档和恢复。然而,如果表中不包含主键,OceanBase数据库将无法支持归档。

    不过,需要注意的是,虽然数据库不强制用户为表定义主键,但如果表没有主键,OceanBase会采用一个自增的列作为隐藏主键。这种隐藏主键的数据类型为BIGINT,最大值为2^64^。无主键表通常使用ROWID来快速定位到行。在这种情况下,也是可以成功进行日志归档操作的。

    2023-12-12 21:44:34
    赞同 展开评论