为什么大多数系统数据表设计,类型字段都喜欢用字符串而不是整型

2021-07-22 22:23:37 +08:00
 sekfung

用整型查询不是更快吗?

比如类型有"01" "02",这里衍生另一个问题,既然都是字符串,为何不用"1", "2",还浪费空间

是出于什么考虑?我想到的有几个原因

  1. 防丢精度防出错,比如前端传个 long 型 雪花 id

  2. "01"有前导 0, 表明该字段最大值为 99

还有其他什么血泪教训吗?

1108 次点击
所在节点    问与答
8 条回复
wellsc
2021-07-22 22:42:09 +08:00
哪里得来的数据
westoy
2021-07-22 22:43:46 +08:00
没见过有这样搞的

我倒是觉得这样搞, 碰到哪个库贴心把 0 开头的当 8 进制处理, 又正好后面数字没有超过 7 的, 有引起血泪教训的潜在隐患........
wdlth
2021-07-22 23:15:33 +08:00
因为有的时候就存在 0 开头的定长编码方式,比如很多国标的编码,你可以搜索一下:
《全国固定资产投资项目代码编码规范》
myd
2021-07-22 23:17:59 +08:00
影响速度的瓶颈不在这里
sekfung
2021-07-23 00:33:48 +08:00
@wellsc 大多数可能不严谨,就我对接的几家银行接口,几乎都是这样的设计
akira
2021-07-23 01:03:50 +08:00
互联网行业 比较少见到呢。。 回想了一下,十几年前遇到的比较多一点,短信 SP 网关的,银行的 其他好像就没遇到过呢
potatowish
2021-07-23 10:13:39 +08:00
用整型肯定效率最高,但还远远够不成性能瓶颈,用字符串主要是方便,为什么方便,懂的自然懂,不懂的也没必要懂
sekfung
2021-07-23 11:23:27 +08:00
@potatowish #7 老哥能否说说,想了解一下

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

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

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

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

© 2021 V2EX