V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
chinaguaiu
V2EX  ›  数据库

请教一下串行数据在数据库中如何存储?领导给我定义了一张几百个字段的表,我人都傻了

  •  
  •   chinaguaiu · 93 天前 · 1325 次点击
    这是一个创建于 93 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,我手头的代码模块需要接受一个硬件设备的实时数据,储存到时序数据库中(TDEngine)。今天早上领导让我照着他定义的数据库文档建表,我越写越感觉不对呢,怎么有几百个字段还都是 Int 类型?我意识到领导是把串行数据的每个 Byte 都单独定义一个字段了,我感觉不妥,想请教一下各位串行数据一般存储到数据库中都是怎么处理的。

    感觉这么定义数据库字段真的有点糟,领导对一些具有连续意义的 Bytes 直接定义了几十个连续的字段,命名从 xxx_1 命名到 xxx_50 ,我看了真想直接上去邦邦两拳 这么存数据以后拿出来还怎么计算?把 50 个字段再加一遍吗?

    8 条回复    2024-08-12 10:25:43 +08:00
    SteinsGate
        1
    SteinsGate  
       92 天前 via Android   ❤️ 1
    邦邦给他两拳
    dyexlzc
        2
    dyexlzc  
       92 天前
    这水平都能当领导……?串行数据本身就是二进制,用 base64 转一下存字符串就行。
    ho121
        3
    ho121  
       92 天前 via Android
    啥样的串行数据?如果是定长的,而且是结构化的,分 int 存也许可以提高一些筛选性能。
    Goooooos
        4
    Goooooos  
       92 天前 via Android
    这数据需不需要搜索??
    BugCry
        5
    BugCry  
       92 天前 via Android
    谁写代码用谁的,并不是一定得有个谁对谁错
    Jackm
        6
    Jackm  
       91 天前
    可能以后还会有新硬件需要建新表吧,国产安卓手机的系统不就是这样吗?
    chinaguaiu
        7
    chinaguaiu  
    OP
       90 天前
    @dyexlzc 我觉得也是,数据库只需要给这个串行数据一个字段进行保存就可以了,需要看数据的时候在上层代码中写解析方法就可以了。
    chinaguaiu
        8
    chinaguaiu  
    OP
       90 天前
    @ho121 确实是定长和结构化的数据,但是没有字段筛选的需求,所以没有必要这样干。尤其是,我这里一组串行数据的 bytes 数量非常大,超过 100 个 bytes ,数据库储存的字段太多了,后期这些 bytes 的含义有变动了也不好改
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2692 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 11:09 · PVG 19:09 · LAX 03:09 · JFK 06:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.