MySQL数据库效率 - GROUP BY与单独的表

时间:2012-07-01 18:33:53

标签: mysql performance

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

在组织数据库表结构时,我是否应该有一个列出以前订购的所有产品的表,然后是GROUP BY购物车令牌(我创建了一个rand()号以确保每个购物车版本的购物车项目彼此唯一地绑定)。

还是有更好的方法吗?还是我过分担心?对于列出要搜索的50,000个订购商品,响应时间是否相当不错?

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

1 个答案:

答案 0 :(得分:2)

您要问的是,您是否应非规范化您的数据,以便更有效地进行查询。我建议您阅读有关数据库规范化主题的内容,以获得有关这些决策的更多背景信息。

要回答你的问题,你应该(通常)始终将表格规范化,并考虑如果你在未来遇到性能问题时进行非规范化。我不会关心未来2年,3年或10年会发生什么,因为你可能有很多问题要担心今天

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

相关问题