2009-08-24 37 views
3

我正在构建一个多语言站点决定我是否应该拆分表

我有一个说明表,其中包含每个产品的描述以及指示语言的列。所以它包含一行每种语言描述

现在我担心的是,我有系统中的各种不同类型的产品,阅读任何产品的描述将不得不通过此表。这意味着很多流量到这个表

是否有创建多个描述表,将专用于特定的产品组,并分发到单个表到多个表的点击量的增益?

这会使我在Microsoft SQL上获得任何性能提升吗?

回答

7

出于实用目的,没有。如果你的表格被正确编入索引,那么你不应该看到任何区别。

不要过早地优化数据库结构。

+0

其次。有时候问自己这个问题是很好的,但在某种“笑测试”水平上。保持代码充分记录,模块化等,以便您可以解决性能问题,如果您非常成功,并且遇到问题。 – 2009-08-24 16:29:32

4

你在说多少产品?因为如果它少于一千万,甚至不用这样优化它。

你在说什么基本上是一个分区方案。这用于非常大的数据集。尽管除非每件物品都很大,否则不到一千万就不会接近。

如果你正在做的是多读,写一些没有从这种划分有增益。

在出现问题之前不要优化问题。

0

我建议检查这两个东西:

  • 是您的正确的表索引?如果不是,则索引它。
  • 您目前是否遇到性能问题(正确提供了索引)?

如果您没有明确看到性能问题,我不会打扰更改您的结构。对于几乎任何规模的数据库来说,这应该是完全正常的 - 可能有大量的项目,分区描述表可能会有所帮助,但是如果它被正确地编入索引,我认为它根本不重要。

0

当您对表格进行规格化时,总会有轻微的性能下降。但是如果你正确地为你的表建立索引,你可能不会注意到它。如果及时确实成为问题,那么对规范化表格比规范化更容易。

所以,我会建议你使用单独的表格。

0

同意 - 我更喜欢解决实际问题的问题。

如果你的应用是充分模块化的,和你的数据访问层结构正确,它不应该是以后所有的东西拆分问题。如果您使用存储过程,视图等从应用程序中抽象出基础表结构,那么稍后执行此类优化应该对您的源代码的影响最小。

相关问题