我有一个结构性能问题。
我正在准备一个图书销售网站。我有书籍、作者、类别等。我想给用户一些折扣。但是这些折扣可以是关于书、类别、作者甚至可以是关于用户的。我将折扣存储在“折扣”表中并存储类型。当人们列出产品时,我也想显示折扣。如果我加入折扣表和产品表并检查每条记录的总折扣,这对于列表来说是一个巨大的性能问题。您对这种情况和类似情况有什么建议吗?
(注意:我可以将折扣放入产品表并每天使用 sql 作业计算它,但我有更多的表有这个问题。折扣只是一个示例,我想学习解决此类问题的替代方法。)
抱歉我的英语不好,谢谢。
最佳答案
If i join discounts table and product table and check for total discount for each record that is a huge performance issue for listing.
啊。不。10 年前尝试过我们创建的在线商店,我们发现通过内存中的一些简单缓存(商店产品,所有元素在一起)(如果发生变化,我们可以实时显示 5 分钟的过时价格)加上输出缓存我们可以减轻几乎所有性能影响的非 super 简单方法。
做一个清晰的数据库。然后在它上面做一个智能架构。并非每个项目都必须始终从数据库中查询。
关于sql-server - 数据库性能提升结构设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25607707/