一个用 Django 写公司内部系统的运维狗怎么能提高数据的设计水平? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zhoudaiyu
V2EX    数据库

一个用 Django 写公司内部系统的运维狗怎么能提高数据的设计水平?

  •  
  •   zhoudaiyu
    PRO
    2020-06-06 21:46:58 +08:00 via iPhone 2487 次点击
    这是一个创建于 2025 天前的主题,其中的信息可能已经有所发展或是发生改变。
    经常设计一些只有 2 3 个字段的小表,然后弄一堆外键和多对多的表,导致即便数据量不大也查询比较慢。还有用一些反模式,比如一个短信发送表,把一次给一堆人发送的结果存成一条记录,然后有个发给谁的段存了好几个人手机号,再用逗号分隔,导致查发给了谁只能模糊查询,也是慢。甚至有一些报表需要使用正则查数据库,要么就从数据库都拿出然后在 Django 里做正则匹配。然而发现这些问题都是得过段时间重新审视表设计,或是遇到一些需求才能发现。怎么才能在最初设计的时候就能规避一些问题呢?
    10 条回复    2020-06-07 11:30:44 +08:00
    rim99
        1
    rim99  
       2020-06-06 22:04:36 +08:00
    敏捷嘛,不同的重构就是
    rim99
        2
    rim99  
       2020-06-06 22:05:03 +08:00
    不停,打错了
    zhoudaiyu
        3
    zhoudaiyu  
    OP
    PRO
       2020-06-06 22:06:34 +08:00 via iPhone
    @rim99 重构有时候会影响报表数据
    MOONLIGHTT
        4
    MOONLIGHTT  
       2020-06-06 22:12:49 +08:00
    数据库设计有范式的,一般能够达到 3NF 性能就可以了(课本上是这么说的)。。

    对于一对多的记录的话,postgresql 好像可以存 json 的数据,也能查询 jso 。
    chenxytw
        5
    chenxytw  
       2020-06-06 22:17:44 +08:00
    在最初设计时没法规避没有遇到过的问题...
    所以需要刷经验...
    实在自己涨经验慢的话,多看看别人的博客 /文章吧 0 0
    zhoudaiyu
        6
    zhoudaiyu  
    OP
    PRO
       2020-06-06 22:19:43 +08:00 via iPhone
    @chenxytw 最近看了 SQL 反模式,感觉能稍微少点坑,但还是有些坑和业务关系更大,不太好从书本上学到
    zhoudaiyu
        7
    zhoudaiyu  
    OP
    PRO
       2020-06-06 22:20:11 +08:00 via iPhone
    @MOONLIGHTT 我们用的 mysql 5.6 好像对 json 支持一般
    Govn
        8
    Govn  
       2020-06-06 22:34:14 +08:00
    mark 一下 我现在也有这个问题 我现在的解决方法就是写 sql 。
    HashV2
        9
    HashV2  
       2020-06-07 02:12:47 +08:00
    @MOONLIGHTT 也没必要完全遵守第三范式吧,有时候一些冗余换查询效率也是很有必要的
    37Y37
        10
    37Y37  
       2020-06-07 11:30:44 +08:00
    多写就好了,每次发现之前设计的不合理就改掉记录下来,下次设计就会更合理一点,长此以往就设计合理了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     900 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 21:55 PVG 05:55 LAX 13:55 JFK 16:55
    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