因为把公司 Mysql 一堆带 null 字段优化非空带默认值被骂

2021-04-15 11:08:42 +08:00
 AhogeK

刚来一家新公司注意到数据库里新建的表有一堆 null 值的字段,想数据量大会影响索引,项目也刚开我就改了下,然后就被训了,就说别动数据库,非不非空让前端去判断(我就想是前端判断啊,但后端不也要校验,数据库只是优化查询)但我没之声 而且好多字段都是中英混用,可难受死我这强迫症了 比如父 id fid 组织类型 orglx 行政区划代码 xzqh 行政区域编码却是 adcode [捂脸.jpg]

12167 次点击
所在节点    问与答
107 条回复
Ciallo
2021-04-16 10:33:31 +08:00
如果是数值型,null 和 0 的意义是不一样的,你没办法知道用户是真的录入了 0 还是录入的空,如果代码里面有对 null 值的判断,那么这个默认值 0 直接导致这段业务逻辑失效了,很严重
weiwenhao
2021-04-16 10:37:15 +08:00
[强制] 使用 ISNULL()来判断是否为 NULL 值。
说明:NULL 与任何值的直接比较都为 NULL 。
1 ) NULL<>NULL 的返回结果是 NULL,而不是 false 。
2 ) NULL=NULL 的返回结果是 NULL,而不是 true 。
3 ) NULL<>1 的返回结果是 NULL,而不是 true 。

我看 阿里云 java 手册有提到部分 null 的使用,是不是说明不反对 null.
opentrade
2021-04-16 10:49:05 +08:00
直接老大一般不会批评,不然怎么带队
NeezerGu
2021-04-16 11:01:11 +08:00
“说我的不是老大 我觉得老大人挺好 爱了 还不想跑 ”
你的直接领导一般情况下就是给你擦屁股的。。。。
你在这好歹有个人干活,哪怕心理吐槽这娃有点坑啊,也还是会让你在。

你要想的是,你的直接领导也许已经被他的领导骂成鹌鹑了。因为你导致一个人被骂,你不会觉得羞愧吗
AhogeK
2021-04-16 11:12:52 +08:00
@NeezerGu 是的 我有罪 所以要引以为戒 避免同样的错误再次发生 大家的批评都是我前进的动力 :)
ericgui
2021-04-16 15:52:57 +08:00
你胆子也太肥了

改数据库的大事,你都随便就改了

公司没辞退你算轻的了
meepo3927
2021-04-16 16:09:01 +08:00
字段名难受, 改是没问题的。

但是,NULL 是有含义也是有用的, 不要全盘否定吧

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

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

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

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

© 2021 V2EX