2

想象一家允许人们使用他们的网络软件来构建网站的公司。每个客户都有一个或多个他们构建的站点,每个站点可能包含一百个“单元”,这些单元包含站点各个部分的 HTML。我们确定每个单元格将仅用于一个站点。所以我们有:

在此处输入图像描述

现在我们需要描述每个站点中的单元格。

一种方法是拥有一个巨大的(我的意思是巨大的)单元格表,其中包含一百万客户创建的所有单元格。然后每个单元格记录将指向使用它的 siteId。

但似乎应该有一种方法可以利用这样的知识,即每个单元格只是其站点中一百个左右的单元格中的一个,因此我们可以搜索一个包含 100 个单元格的表格,而不是搜索一个包含 1 亿个单元格的表格,或者当我们想建立那个站点时,只需要那个表。

感谢您的输入。

4

1 回答 1

1

一种方法是拥有一个巨大的(我的意思是巨大的)单元格表,其中包含一百万客户创建的所有单元格。然后在单元格记录的每一行中,我们将指向使用它的 siteId。

这大概是我会走的路线。当您使用适当的性能调优技术时,大多数现代数据库都可以处理具有数亿行的表。

我不是很肯定,但听起来您正在考虑将每个站点的单元格放在站点特定的表中,以减少每个表中的行数。如果这是真的,那么在出现任何性能问题之前,您似乎正在尝试过度优化。

在这一点上,我将专注于创建一个设计良好的规范化数据库,如果您遇到性能问题,我会回到这里来解决具体的性能问题。

于 2013-06-28T22:26:25.013 回答