请大牛进来看看,深圳用友开发团队说的是否正确,请各位看官来评评。

zhangsu8888 2018-09-07 02:25:42
各位大牛,在于深圳用友开发团队合作过程中(我们是下游产品,需要与用友ORACLE数据进行数据对接),用友开发团队对所有ORACLE表默认数据配置为“~”默认值,导致我们下游开发增加很多工作量并影响代码效率。我们要求他们设置为NULL或“”,他们不同意。

理由为“这是N个项目总结出来的经验,值得借鉴”;

聊天记录如下:

用友-A 2018-09-06 14:09:36
这个NC数据库里面的默认的值就是~
下游产品开发A 2018-09-06 14:10:52
把默认改为其它就是,如空
客户IT A 2018-09-06 14:10:54
数值型不可能也默认~ 吧,字符型还好说
用友-A 2018-09-06 14:15:51
自定义项前20个都是
用友-A 2018-09-06 14:17:29
这个是不管是什么字段类型的,
下游产品开发A 2018-09-06 14:19:34
不管是字符型还是数字型,都可以定义默认为NULL的,不建议搞一个~,
用友-项目经理B 2018-09-06 14:19:56
我们的数据库默认都是~
下游产品开发A 2018-09-06 14:20:19
不合理就要改啊,
用友-项目经理B 2018-09-06 14:21:13
什么不合理? 用~做WHERE判断比NULL快很多;
下游产品开发B 2018-09-06 14:22:08
确实与我们一般开发逻辑不符,怎么样约定是数值型的都不应该是~吧?
下游产品开发A 2018-09-06 14:22:53
''这个也可以啊,出现~的字段用作判断就不应该,用作判断的列正常理解是一定有值得,
用友-项目经理B 2018-09-06 14:23:28
这是N个项目总结出来的经验,值得借鉴;
下游产品开发B 2018-09-06 14:27:17
每个系统都会有自己的总结,我们边这是觉得Null最容易处理,这个~对于我们完全没有借鉴的意义
下游产品开发A 2018-09-06 14:28:00
第一次听说,比较孤陋寡闻,有时间我把这说法到相关论坛说下,这是用友总结的经验。
下游产品开发A 2018-09-06 14:29:35
...全文
905 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangsu8888 2018-09-13
  • 打赏
  • 举报
回复
谢谢各位的回复,上面大家也提到说要用友改,其实也是比较困难的;这种模式毕竟不是一天两天形成的;要他们改动的话,搞不好他们那边程序都不能正常跑了,所以还是不折腾了。
可乐乐可 2018-09-13
  • 打赏
  • 举报
回复
你们接收数据的时候,先进行值的转换,再入库
可乐乐可 2018-09-12
  • 打赏
  • 举报
回复
让用友在同步数据的时候,把 ~ 转换成 null不就得了
minsic78 2018-09-11
  • 打赏
  • 举报
回复
引用 9 楼 yaiger 的回复:
通常来说 ='~' 确实比 is null要快一点
不过能快多少就很难说了,除非表的数据量非常大

从合理性来说null应该更好,更容易理解。~有存在歧义的可能,万一~是真实数据怎么办?

只不过用友这种公司,你不太可能期望他来修改,只能自己处理。
你们两者之间应该是通过文件接口传递数据吧?再导入自己表前把~改成Null不行吗?


这快指的是什么快?

赞同#6楼的,这事情不是技术问题。
qq_30431673 2018-09-11
  • 打赏
  • 举报
回复
我们这边也是和一些ERP软件 有数据交换。一般都是自己在接口变更下,指望用友改,基本没戏。
yaiger 2018-09-10
  • 打赏
  • 举报
回复
通常来说 ='~' 确实比 is null要快一点
不过能快多少就很难说了,除非表的数据量非常大

从合理性来说null应该更好,更容易理解。~有存在歧义的可能,万一~是真实数据怎么办?

只不过用友这种公司,你不太可能期望他来修改,只能自己处理。
你们两者之间应该是通过文件接口传递数据吧?再导入自己表前把~改成Null不行吗?
卖水果的net 2018-09-09
  • 打赏
  • 举报
回复
无妨,就是一种习惯而已。 NULL 和 一个固定值(本贴中用的是 ~,也有用 N/A的) 都有自己的支持者,感觉用 NULL 的比较多一些。 文中所提到的这家公司,有可能在产品中大量使用了~,如果你生要改过来,恐怕程序要跑不动了。 建议充分测试再改动。
@风轻云淡_ 2018-09-08
  • 打赏
  • 举报
回复
null确实会对大表的查询效率有一定的影响,至于是否可以忽略就得做实际测试了,我个人感觉可以用0来代替null。
ckc 2018-09-08
  • 打赏
  • 举报
回复
没听说过,根据这么简短的描述也看不出有什么好处
不过说实话你是他的下游,你多半说服不了对方的,尤其是他们可能一直都是这样做的,不太可能为你们改动,甚至于改动对他们自己,对其它已经在这些系统上做了东西的人来说都是巨大的工作量
工程界有的时候错了也只有继续甚至永远错下去
nayi_224 2018-09-07
  • 打赏
  • 举报
回复
不是说null就不能用索引,而是对于本身就没有索引的列,有没有null对效率一般没什么影响。而一个表又不会被设计成所有列都有索引。
在实践中,null很多时候是很好用的,应该根据实际情况去设默认值。
全库无脑设置默认值为~,这是领导拍脑门想的么?
minsic78 2018-09-07
  • 打赏
  • 举报
回复
谁说null值不能被索引……
nayi_224 2018-09-07
  • 打赏
  • 举报
回复
数值列全用字符串存的?计算的时候全to_number,更慢的好吧。
null对于效率的影响主要是是否启用索引,他还能所有列都有索引?
foxdelphi 2018-09-07
  • 打赏
  • 举报
回复
用友 就是 牛b
Lante_1980 2018-09-07
  • 打赏
  • 举报
回复
确实第一次听说,不知用友是如何得出的,

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧