0

我有个问题。

我有一个网址主表。UrlId 是主键。从 10000 开始。在这张表中,我有我找到的所有 url 地址。然后我在不同的数据库中有 1000 个表(所以我不能使用外键)。它们彼此相同,例如 urldata.100 到 urldata.999。(在这里我存储元数据等)

例如,假设我想在连接中使用左函数来连接每个主记录

Id 10000 - 加入表 urldata.100 Id 11034 - 加入表 urldata.110

所以我想从主表中的每个 UrlId 中取出前 3 个数字,以进行大规模连接。

这可以实现吗?

4

1 回答 1

2

这是一个非常糟糕的设计,因为它限制了可伸缩性以及数据库的性能。

如果你真的想存储不同的元数据UrlIds,你只需要创建一个表。调用它UrlMeta,或类似的东西。

结构将是(UrlID, MetaName, MetaValue). 这种结构可以(MetaName, MetaValue)成对存储尽可能多的元数据。

管理好之后,您的查询将变得非常简单,因为您只需要连接 2 个表,而不是 1001 个!

于 2013-01-30T09:51:37.467 回答