TiDB的INFORMATION_SCHEMA数据库的DDL_JOBS表的疑问

DDL_JOBS表中有DB_NAME以及SCHEMA_ID两个字段,这两个字段应该是一对一的关系,这两个字段的映射关系到底存在哪里呢?按理来说,数据库名称和数据库ID的映射关系应该是会存在SCHEMATA中才对,但是我并没有找到。

查了下所有带id的字段没找到:joy:

我感觉很奇怪,不应该有这种问题,我认为SCHEMA_ID应该是要存在于SCHEMATA这张表里才对

TABLE_ID是存在于TABLES表里的,这里TIDB官方把这个字段记录为TIDB_TABLE_ID

schema 本来就是弱化的概念,目前应该只有表 DDL_JOBS 展示出了 SCHEMA_ID 字段。

这个映射关系应该是一个基础的数据不是么,就算是一个弱化的概念,它也应该存在才对不是么。。。

对,肯定存在,但不一定要显示,具体可以问问大佬们,
我这边目前没有需求用 SCHEMA_ID 字段。

先放一放,研究下别的技术,这个正常使用中目前也不太用的到,scheme_name基本满足所有查询跟关联了

如果是个新需求,可以到:https://asktug.com/c/advice-feedback/requirements 提提~

1 个赞

确实没有显式存在, 我也没找到

假设有这么一个场景,我把一个数据库删除,又新增一个schema_name相同的数据库,这时候没有id我如何去辨别它们是不同的数据库呢?

此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。