想象一家让人们使用他们的网络软件来构建网站的公司。每个客户都有一个或多个他们已经构建的站点,每个站点都包含一百个“单元”,用于保存站点各个部分的HTML。我们肯定知道每个单元格只能在一个站点中使用。所以我们有:
现在我们需要描述每个站点中的单元格。
一种方法是拥有一个巨大的(我的意思是巨大的)单元格表,其中包含由一百万客户创建的所有单元格。然后每个单元格记录将指向使用它的siteId。
但似乎应该有一种方法可以利用每个单元格只有一百个左右的知识,因此我们可以搜索一个包含100个单元格的表格,而不是搜索一个包含100个单元格的表格。单元格,或者只是在我们想要构建该网站时询问该表格。
感谢您的意见。
答案 0 :(得分:1)
一种方法是拥有一个巨大的(我的意思是巨大的)单元格表 包含由一百万客户创建的所有单元格。然后在每个 细胞记录的一行我们指回使用它的siteId。
这可能就是我要去的路线。当您使用适当的性能调整技术时,大多数现代数据库都可以处理具有数亿行的表。
我不是肯定的,但听起来您正在考虑将每个网站的单元格放在特定于网站的表格中,以便保持每个表格中的行数减少。如果这是真的,那么在遇到任何性能问题之前,您似乎正在尝试过度优化。
我会专注于创建一个设计良好的规范化数据库,如果遇到性能问题,我会回到这里讨论具体的性能问题。