作者andymai (人生只有一次)
看板Soft_Job
标题[讨论] 把资料全存成字串的好处是?
时间Sun Nov 5 00:36:45 2017
如题
某个同事不知道为什麽有个根深蒂固的观念
每次只要谈到资料表设计
都会说要把资料存成字串(非 json)
但是存在字串的话
查询时不是会引起 full table scan 吗?
如果是数值 拿出来的时候要转型态才能用
存回去又要再转成字串
某次又耳闻某公司也会这样做
这下小弟实在不懂了
好奇好处在哪?
版上有大大愿意说明一下吗?
(为什麽不问他? 因为上次说过 full table scan 的问题了
所以上次没这样做 这次又...)
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.238.57.23
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1509813407.A.536.html
1F:→ y3k: 因为他不会其他作法吧...? 11/05 00:37
2F:推 monoceros629: 不考虑效能问题的话,字串设计很好扩充新栏位 11/05 00:38
3F:→ slamgundam: 不如用NoSQL? 11/05 00:43
4F:→ andymai: 扩充新栏位? 不懂 大大愿意再说详细点吗? 11/05 00:51
5F:→ andymai: 换成 nosql 应该会有一堆人跳脚 XD 11/05 00:52
6F:→ shortoneal: 大部分都是懒吧.. 11/05 01:08
7F:推 aoksc: 基本上大概是没什麽概念 这种方式北七死了 还要转来转去的 11/05 01:15
8F:→ yyc1217: 有用ORM的话是没差啦 11/05 01:20
9F:→ iFEELing: 不一定会full scan ,看你index怎麽打.... 11/05 01:40
10F:→ iFEELing: 只听过在IMS DB那个年代有人这样玩过.... 11/05 01:42
11F:推 THEWORLDS: 单纯方便而已,大多是NOSQL在用的,如果关联式资料库用 11/05 01:45
12F:→ THEWORLDS: 的话基本上就是只想靠substring,intdexof打天下没别的 11/05 01:45
13F:→ THEWORLDS: 用途,扫描的话不用担心现在db都做得很好,如果真的上 11/05 01:46
14F:→ THEWORLDS: 亿笔资料不太可能这样子存,除非你是某几家大厂 11/05 01:46
15F:→ THEWORLDS: 目前会存成字串的资料格式通常都是图档比较多 11/05 01:47
16F:推 t64141: 也觉得是懒得花心思考虑资料型态 11/05 02:00
17F:推 SamMa: 除了偷懒外想不到好处 11/05 02:47
18F:→ SamMa: 如果想改变同事的观念,直接问本人如何? 11/05 02:48
19F:→ SamMa: 人的想法只有自己能改变 11/05 02:48
20F:推 stitchris: 肯定是只看到一个范例以为资料都是这麽存。如果他第一 11/05 04:38
21F:→ stitchris: 个看到的范例是用float, 相信他会把所有字串转成float 11/05 04:38
22F:→ stitchris: 存放.. 11/05 04:38
23F:→ flash5408: 贵公司不做code review的吗... 11/05 04:55
24F:→ monoceros629: 我看错了,如果是全栏位都存成字串的话,应该是脑 11/05 07:53
25F:→ monoceros629: 袋有洞 11/05 07:53
26F:推 day831231: 我之前有看过一次,对方的解释是说曾经有几次资料库更 11/05 08:28
27F:→ day831231: 新,float增加0.001之类的,後来就全部存字串确保正确 11/05 08:28
28F:→ dreamnook: 个人经验而言是用SQL做NoSQL的常态扩充才变得如此xD 11/05 09:32
29F:→ dreamnook: 那为什麽不用NoSQL DB? - 欢迎学到职场政治xD 11/05 09:34
30F:推 join183club: 怕数字overflow ? 11/05 09:38
31F:→ bbser: 2017年了,资料库已经和20年前的样子很不一样了。 11/05 10:23
32F:推 ChungLi5566: 没遇过上千万笔的资料表吧 11/05 17:01
33F:推 abc0922001: 数字硬要存成字串,效率就差了 11/05 17:27
34F:→ twntwn: 完全没好处 11/05 18:13
35F:推 f496328mm: 我刚开始就是这样干的,我自己是非本科,所以不知道差 11/05 19:24
36F:→ f496328mm: 别,後来其他人给我意见後,就数字改成数字,日期转成 11/05 19:24
37F:→ f496328mm: 日期 11/05 19:24
38F:→ zerrofighter: 没啥好处,坏处倒是不少 11/07 19:06
39F:→ johnny94: 讲那麽多,就是不会设计data model 而已啊,工作久了发 11/08 11:14
40F:→ johnny94: 现一堆不会设计的人都不知道从哪学来的奇葩知识 11/08 11:14
41F:推 jackaabb: 其实银行只有金额才会给数值型态,其它的话大都是给char 11/08 23:46
42F:→ jackaabb: 或varchar,但会给长度。 11/08 23:46