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

40 天前
 chinaguaiu

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

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

1246 次点击
所在节点    数据库
8 条回复
SteinsGate
40 天前
邦邦给他两拳
dyexlzc
40 天前
这水平都能当领导……?串行数据本身就是二进制,用 base64 转一下存字符串就行。
ho121
40 天前
啥样的串行数据?如果是定长的,而且是结构化的,分 int 存也许可以提高一些筛选性能。
Goooooos
40 天前
这数据需不需要搜索??
BugCry
40 天前
谁写代码用谁的,并不是一定得有个谁对谁错
Jackm
39 天前
可能以后还会有新硬件需要建新表吧,国产安卓手机的系统不就是这样吗?
chinaguaiu
37 天前
@dyexlzc 我觉得也是,数据库只需要给这个串行数据一个字段进行保存就可以了,需要看数据的时候在上层代码中写解析方法就可以了。
chinaguaiu
37 天前
@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