繁体   English   中英

如何设计用于存储销售物品的 MySQL 数据库

[英]How to design a MySQL database for storing sell items

我一直在尝试设计一个 MySQL 表来存放客户购买的商店物品。 我不知道应该采取什么方法来设计一张好桌子。

我的第一个选择是:

ID bill_id_fk item1_id item2_id item3_id item4_id

在这种方法中,我将为项目创建可能是 20 列(假设客户一次最多可以购买 20 个项目)。 项目的 ID 将存储在该特定bill_id_fkitem(n)_id列中。 我对这种方法的担忧是以后很难查询特定商品,例如特定商品已售出多少次。

我的第二个意见是:

ID bill_id_fk item_id
1 1 23
2 1 29
3 2 23

在这种方法中,我将只创建 3 列,并为每个项目创建一行,其中包含特定账单的bill_id_fk 在这种方法中,更容易查询特定商品的销售计数。 但我担心的是在使用应用程序时会创建成千上万行,随着时间的推移,这将如何影响应用程序的性能?

我想就设计此类数据库的最佳实践征求您的意见。 或者我应该采取其他方法吗?

您不可能将 go 与第一个选择,第二个是您的情况的最佳方法。

如果您索引了正确的列,它不会影响您的性能。

当涉及到项目时,可以在您的账单表中添加一个包含项目编号的列,例如:

bills (id - total_price - user_id - item_counts)
bill_items (id - bill_id - item_id - item_price)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM