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

2024-08-09 17:26:35 +08:00
 chinaguaiu

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

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

1645 次点击
所在节点    数据库
8 条回复
SteinsGate
2024-08-09 19:21:14 +08:00
邦邦给他两拳
dyexlzc
2024-08-09 19:34:54 +08:00
这水平都能当领导……?串行数据本身就是二进制,用 base64 转一下存字符串就行。
ho121
2024-08-09 19:51:40 +08:00
啥样的串行数据?如果是定长的,而且是结构化的,分 int 存也许可以提高一些筛选性能。
Goooooos
2024-08-09 19:57:50 +08:00
这数据需不需要搜索??
BugCry
2024-08-10 01:45:39 +08:00
谁写代码用谁的,并不是一定得有个谁对谁错
Jackm
2024-08-10 19:28:54 +08:00
可能以后还会有新硬件需要建新表吧,国产安卓手机的系统不就是这样吗?
chinaguaiu
2024-08-12 10:20:29 +08:00
@dyexlzc 我觉得也是,数据库只需要给这个串行数据一个字段进行保存就可以了,需要看数据的时候在上层代码中写解析方法就可以了。
chinaguaiu
2024-08-12 10:25:43 +08:00
@ho121 确实是定长和结构化的数据,但是没有字段筛选的需求,所以没有必要这样干。尤其是,我这里一组串行数据的 bytes 数量非常大,超过 100 个 bytes ,数据库储存的字段太多了,后期这些 bytes 的含义有变动了也不好改

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

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

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

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

© 2021 V2EX