数据库设计相关的,想问问一些建议 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
amosmz
V2EX    数据库

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

  •  
  •   amosmz 2019-07-04 23:12:47 +08:00 2000 次点击
    这是一个创建于 2299 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

    最终还要统计利润的总额

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

    订单表 利润表(这样处理合理吗--这样多级利润就是多条数据,但是担心数据量太多了) id order_id amount user_id 属于谁的利润 amount 利润金额 
    7 条回复    2019-07-24 14:53:11 +08:00
    kaychen
        1
    kaychen  
       2019-07-05 01:03:21 +08:00   1
    1. 如果是状态码或类型不使用 0,是有好处的. 比如,PHP 中,用 empty 判断 0 和空是等价的. 当需要查询所有状态码或类型的时候,一般该字段传参为 0 或空就代表所有.如果 0 表示了某种状态,那还需要单独再处理下呢.
    jorneyr
        2
    jorneyr  
       2019-07-05 06:42:24 +08:00   1
    表示状态时,1、2、3 表示正常状态,有时候我会用 0 表示没有设置过值,表示未知,看情况吧,都有道理。
    amosmz
        3
    amosmz  
    OP
       2019-07-05 09:05:26 +08:00
    @kaychen 嗯嗯,那按照原来的来,感谢
    hbolive
        4
    hbolive  
       2019-07-05 10:55:07 +08:00
    如果不是非用 0 不可,那尽量不要用 0 了,因为某些语言下,0==false
    hbolive
        5
    hbolive  
       2019-07-05 10:58:25 +08:00   1
    第 2 个问题,分成多表是基于什么考虑,是怕数据表太大查询慢?如果按类别分,可能会跟业务冲突,那按 ID 分表吧。。
    amosmz
        6
    amosmz  
    OP
       2019-07-05 13:09:41 +08:00
    @hbolive 对怕数据表太大了,主要根据业务可以分成几大类,ID 分表的话大概多少的数据分一次好呢?
    zibber
        7
    zibber  
       2019-07-24 14:53:11 +08:00
    订单和账务分开
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     6076 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 06:15 PVG 14:15 LAX 23:15 JFK 02:15
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86