表对象的标识

表对象标识

kingbase中表作为数据库对象具有一个系统内部的唯一标识符,这个标识符被称为oid(对象标识符),它是kingbase用来在整个数据集群中唯一地标识每个数据库对象的一个字段。对于表来说,其OID可以在系统目录表sys_class中找到。

oid是否会变化

一般情况下,对表进行dml操作,表的oid是不会发生变化的。但是如果对表进行ddl操作,表oid是否会变化呢?接下来我们测试一下。

复制代码
test=# create table test_oid (id int);
CREATE TABLE
test=# select oid from sys_class where relname ='test_oid' and relkind='r';
  oid
-------
 16390
 test=# alter table test_oid rename TO test_oid_new;
ALTER TABLE
test=# select oid from sys_class where relname ='test_oid_new' and relkind='r';
  oid
-------
 16390
 test=# truncate test_oid_new ;
TRUNCATE TABLE
test=# select oid from sys_class where relname ='test_oid_new' and relkind='r';
  oid
-------
 16390
 test=# drop table test_oid_new ;
DROP TABLE
test=# create table test_oid (id int);
CREATE TABLE
test=# select oid from sys_class where relname ='test_oid' and relkind='r';
  oid
-------
 16395

通过测试,表的oid只有在drop后重建回发生变化,truncate table oid不会改变

mysql 没有类似kingbase oid或pg oid类似的对象标识。

oracle 中表对象的标识由object_id和data_object_id,truncate操作object_id不会发生变化,data_object_id可能会发生变化。

相关推荐
2501_9336707910 小时前
2026秋招数据分析岗备考路线:SQL、BI、项目与面试题拆解
数据库
我要见SA姐113 小时前
告别 Copilot?Codex 本地化部署指南
运维·数据库·机器学习·oracle·回归
xcLeigh13 小时前
聊聊国产化替换:好用数据迁移工具KDMS怎么帮咱们搞定评估难
数据库·sql·数据迁移·kes·kdms
Elastic 中国社区官方博客14 小时前
列式存储并不等同于列式数据库。Columnar 模式为 Elasticsearch 带来了什么
大数据·运维·数据库·elasticsearch·搜索引擎
我要见SA姐114 小时前
用 Claude Code 重构遗留系统:从评估到落地的完整实践指南
数据库·ide·vscode·oracle·编辑器
Nturmoils15 小时前
一份 KDMS 评估报告,怎样排出迁移先后顺序
数据库
这个DBA有点耶15 小时前
异构数据集成怎么做?5 种同步方案对比 + 金融级 CDC 实战解析
数据库·oracle·架构
独泪了无痕15 小时前
SQL函数实战:GREATEST与LEAST的技巧
数据库·sql·mysql
码少女16 小时前
Linux--多路转接之select
java·服务器·数据库
梁辰兴16 小时前
软件工程:软件维护的副作用
数据库·软件工程·梁辰兴·控制方法·软件维护的副作用·副作用类型·副作用原因