0

我正在尝试使用列出的项目显示用户的购物车。我要避免的是 - 在 db_cartitems 变成 10,000 个项目之后,查询结果需要很长时间才能显示结果的 2、3 或 10 年。

在组织数据库表结构时,我是否应该有一个表列出以前订购的所有产品,然后按购物车令牌进行分组(我创建了一个 rand() 编号以确保每个购物车构建的购物车项目都唯一地相互关联)。

或者,还有更好的方法?还是我太担心了?列出要搜索的 50,000 个订购商品的响应时间是否相当不错?

商家每天可能会收到 50 个或更少的订单,我担心不会提前计划增长。

4

1 回答 1

2

您要问的是您是否应该对数据进行非规范化以便更有效地查询。我建议阅读一些有关数据库规范化的主题,以了解有关此类决策的更多背景信息。

要回答您的问题,您应该(通常)始终从规范化的表开始,如果您开始遇到性能问题,请考虑非规范化。我不会担心 2、3 或 10 年后会发生什么,因为你今天可能有很多问题要担心。

从规范化模型转移到非规范化模型并不困难,此外,如果遇到问题(例如归档旧数据),您可能还有其他选择来提高性能。

于 2012-07-01T18:42:42.557 回答