MySQL:将1个主表连接到1000个子表

时间:2013-01-30 09:45:53

标签: mysql

我有一个问题。

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

假设我想在连接中使用left函数来连接每个主记录

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

所以我想从大表中的每个UrlId中取出前3个数字。

这可以实现吗?

1 个答案:

答案 0 :(得分:2)

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

如果您确实要存储不同UrlIds的元数据,则只需创建一个表。称之为UrlMeta或类似的东西。

结构为(UrlID, MetaName, MetaValue)。此结构可以存储尽可能多的元数据作为(MetaName, MetaValue)对。

管理完成后,您的查询将变得非常简单,因为您只需要加入2个表,而不是1001个!