2014-09-01 28 views
1

我有一个结构性能问题。数据库性能改进结构设计

我正在准备一本销售网站的书。我有书籍,作者,类别等。我想给用户一些折扣。但这些折扣可以关于图书,类别,作者甚至可以关于用户。我在'折扣'表和存储类型存储折扣。当人们列出产品时,我也想显示折扣。如果我加入折扣表和产品表,并检查每个记录的总折扣,这对于列表是一个巨大的性能问题。你有任何建议,这种情况和类似的情况?

(注意:我可以把折扣放到产品表中并用SQL工作每日计算一次,但是我有更多的表格可以解决这个问题,折扣只是一个示例,我想学习替代方法来解决这类问题。)

对不起,我英语不好,谢谢。

回答

0

如果我加入折扣表和产品表,并检查总计 折扣为每个记录是一个巨大的性能问题上市。

啊。不,10年前我们创建了一家网上商店,我们通过一些简单的缓存(购物产品,所有元素放在一起)记忆(我们可以在变化的情况下显示5分钟的过时价格),再加上输出缓存非超简单的方式,我们可以减轻几乎所有的性能影响。

建立一个明确的数据库。然后在它上面创建一个智能体系结构。不是每个项目都必须随时从数据库中查询。

+0

这可能是一个解决方案,但是这足够吗?如果你说我把它用于大数据,并没有太多的性能问题,我会像你说的那样做。 – kocakmstf 2014-09-01 15:07:11

+0

定义大量数据。我没有问题,为一个更大的商店放入一个64GB的Web服务器和/或将其推入级联的内存缓存服务器。问题是:它是唯一的解决方案,因为在这种情况下可以灵活或快速,只有缓存可以处理两者的组合。在这种情况下投掷一些内存是一个有效的解决方案。 – TomTom 2014-09-01 15:14:55