平时开发中,业务膨胀导致表结构臃肿,一般怎么解决,有什么方法论?

2021-11-24 11:38:20 +08:00
 kikione

比如说我们业务有自己券体系。

券分为 A B 两种,在同一张表。

后来 A 又有自己的类型

B 又有自己的类型

如此循环,字段加的越来越多,也越来越耦合。

请问,建表时,一般要考虑哪些因素,业务越来越耦合时,如何加字段,如何拆表?

3712 次点击
所在节点    程序员
26 条回复
zachlhb
2021-11-25 08:29:46 +08:00
分表,先建一个券主表存放通用字段,然后每种券独立到自己的表中,然后根据主表的券类型去各类型表中查扩展数据
netnr
2021-11-25 08:58:43 +08:00
就举例需求来讲,首先分 1 和 2 ,然后 1 又拆分 11 12 13 ,2 就拆分 21 22 23 ,如果还需要分,那就转成字符串,1-1-1 2-1-1 这种
也算是一种可扩展的变通,当然涉及到的逻辑也要改,历史数据的维护(很多时候不愿意维护历史数据来支持新的功能,而是通过加字段,反而越来越复杂)
yogogo
2021-11-25 09:30:33 +08:00
我现在是这样做的,券有一个主表,里面是券的基本信息,id ,编号,名称,类型,假设券类型分 A 和 B ,再建两张类型表 A 和 B ,这样就分开 A 和 B 的类型字段就各自维护,主表也能保持简单,后续有新类型就新增类型表就行了
php01
2021-11-25 09:46:28 +08:00
不要对重构抱有敌意,拥抱重构,才能前进
goldpumpkin
2021-11-25 10:25:10 +08:00
@SimonOne 直接换个英文单词 换一个解释, 绕晕它
bsg1992
2021-11-25 15:31:34 +08:00
继续加字段
如果字段是在太多就只能分表
分表也回带来业务上开发的复杂度

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

https://tanronggui.xyz/t/817621

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

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

© 2021 V2EX