在设计表的时候,库存表和商品表是推荐库存是放到 sku 字段里,还是单独拆两个表呢 ?

2022-11-21 23:22:41 +08:00
 zzzaloha

咨询一下,看业界通用的表设计,一般都是一个商品表, 然后商品表里有库存的属性, 想咨询一下,能否直接把库存放到商品字段上呢? 感觉两个方案在扣减 / 添加库存的锁竞争其实都差不多。为什么倾向于单独放一个库存表呢 ?

1650 次点击
所在节点    数据库
9 条回复
vibbow
2022-11-22 07:18:02 +08:00
需要考虑多库房的情况
Seulgi
2022-11-22 09:35:33 +08:00
业界通用是指开源商城? 那叫啥业界通用. 把库存放 sku 上就一个原因, 商城没有对应的仓库系统, 也就是库存管理是放在商城 sku 维护上的. 如果真的按业界来说, sku 和仓储是两个系统, 具体的库存其实在仓储, 你看到的 sku 库存, 是仓储给你的.
linxb
2022-11-22 09:39:17 +08:00
现实是商城都是多仓库多供应链体系,一个商品很少只有一个库存数,单独库存表是必然的。
stonelf
2022-11-22 10:24:26 +08:00
分开存储,是为了降低数据冗余。保存到一张表,是冗余换性能,因为查询的时候不需要关联两张表做查询了。
zzzaloha
2022-11-22 10:39:14 +08:00
非常感谢大家的回复,目前看起来库存场景很简单, 商品和库存是 1 对 1 关系, 因此库存数量放在商品数量即可。
kujio
2022-11-22 10:50:29 +08:00
一般一个商品对应很多不同的库存数据
比如不同的仓库,货位,批号,
dobelee
2022-11-22 15:47:39 +08:00
看业务访问量和 sku 表的复杂度,复杂度高建议把库存放到另一个表,便于频繁更新库存。
zzzaloha
2022-11-22 16:27:22 +08:00
@dobelee 我可以理解拆成两个表的好处就只有 减少 「更新商品」 和 「更新库存」 和锁竞争, 其他应该就没有了吧
akaHenry
2022-11-22 18:44:51 +08:00
表字段, 是 拆分 vs 合并.

要思考: 字段是频繁读 vs 频繁写.

多读少写(写一次不变更) 和 频繁写的数据, 显然不适合放在一起.

顺便, 有些表字段, 是要加锁的(事务), 大量表字段, 是不需要的. 同上.

要搞清楚设计的本质目的是什么. 你就知道该不该放一起.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/896932

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX