数据库设计相关的,想问问一些建议

2019-07-04 23:12:47 +08:00
 amosmz

1.状态码或者类型相关的(tinyint) 现公司 不使用 0 当作默认值,直接以 1、2、3 开始,因为个人偏向 0、1 开始。所以问下 0 到底有没有必要拿来使用,是否存在什么好处的说法?个人感觉可能也是差不多的

2.有一个单表的数据,每个月可能有是上百万的数据插入,有点类似将每一件食品的二维码都录入到数据库当中,是否有必要按照几个大类来分开来,让单表变成多表。(担忧是订单表关联要先根据类型,在跟据 ID 查找,是否存在不合理的设计)

3.设计到多级代理的利润,订单表的利润部分应该怎么设计

目前系统设计 是将多级的利润都放在订单表里,目前有 3 级,所以 6 个字段存储起来.个人感觉不合理所以重新设计这方面

最终还要统计利润的总额

起步想法表格,想法可能偏新手,所以想咨询下大家,谢谢

订单表  利润表(这样处理合理吗--这样多级利润就是多条数据,但是担心数据量太多了)

id      order_id

amount  user_id 属于谁的利润

        amount  利润金额
1676 次点击
所在节点    数据库
7 条回复
kaychen
2019-07-05 01:03:21 +08:00
1. 如果是状态码或类型不使用 0,是有好处的. 比如,PHP 中,用 empty 判断 0 和空是等价的. 当需要查询所有状态码或类型的时候,一般该字段传参为 0 或空就代表所有.如果 0 表示了某种状态,那还需要单独再处理下呢.
jorneyr
2019-07-05 06:42:24 +08:00
表示状态时,1、2、3 表示正常状态,有时候我会用 0 表示没有设置过值,表示未知,看情况吧,都有道理。
amosmz
2019-07-05 09:05:26 +08:00
@kaychen 嗯嗯,那按照原来的来,感谢
hbolive
2019-07-05 10:55:07 +08:00
如果不是非用 0 不可,那尽量不要用 0 了,因为某些语言下,0==false
hbolive
2019-07-05 10:58:25 +08:00
第 2 个问题,分成多表是基于什么考虑,是怕数据表太大查询慢?如果按类别分,可能会跟业务冲突,那按 ID 分表吧。。
amosmz
2019-07-05 13:09:41 +08:00
@hbolive 对怕数据表太大了,主要根据业务可以分成几大类,ID 分表的话大概多少的数据分一次好呢?
zibber
2019-07-24 14:53:11 +08:00
订单和账务分开

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

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

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

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

© 2021 V2EX