我有一个问题。
我有一个主表的主表。 UrlId是主键。从10000开始。在这个表中我有我找到的所有网址。然后我在不同的数据库中有1000个表(所以我不能使用外键)。它们都是相同的,如urldata.100到urldata.999。 (这里我存储元数据等)
假设我想在连接中使用left函数来连接每个主记录
Id 10000 - 加入表urldata.100 Id 11034 - 加入表urldata.110
所以我想从大表中的每个UrlId中取出前3个数字。
这可以实现吗?
答案 0 :(得分:2)
这是一个非常糟糕的设计,因为它限制了可伸缩性以及数据库的性能。
如果您确实要存储不同UrlIds
的元数据,则只需创建一个表。称之为UrlMeta
或类似的东西。
结构为(UrlID, MetaName, MetaValue)
。此结构可以存储尽可能多的元数据作为(MetaName, MetaValue)
对。
管理完成后,您的查询将变得非常简单,因为您只需要加入2个表,而不是1001个!