OceanBase数据库日志归档的时候,有要求表一定要有主键吗??
表中没有主键和显示索引,能日志归档成功吗?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
如果没有指定主键,OB 会生成内部自增列作为主键(名字:__pk_increment ) ,此回答整理自钉群“[社区]技术答疑群OceanBase”
OceanBase数据库的日志归档功能是否受表结构影响主要取决于表中是否包含主键。如果表中包含主键,那么支持进行归档。这主要是因为在主键表中,每一条记录都是唯一的,可以被唯一确定,因此便于归档和恢复。然而,如果表中不包含主键,OceanBase数据库将无法支持归档。
不过,需要注意的是,虽然数据库不强制用户为表定义主键,但如果表没有主键,OceanBase会采用一个自增的列作为隐藏主键。这种隐藏主键的数据类型为BIGINT,最大值为2^64^。无主键表通常使用ROWID来快速定位到行。在这种情况下,也是可以成功进行日志归档操作的。