PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
Soft_Job
[討論] 把資料全存成字串的好處是?
作者:
andymai
(人生只有一次)
2017-11-05 00:36:45
如題
某個同事不知道為什麼有個根深蒂固的觀念
每次只要談到資料表設計
都會說要把資料存成字串(非 json)
但是存在字串的話
查詢時不是會引起 full table scan 嗎?
如果是數值 拿出來的時候要轉型態才能用
存回去又要再轉成字串
某次又耳聞某公司也會這樣做
這下小弟實在不懂了
好奇好處在哪?
版上有大大願意說明一下嗎?
(為什麼不問他? 因為上次說過 full table scan 的問題了
所以上次沒這樣做 這次又...)
作者:
y3k
(激流を制するは静水)
2017-11-05 00:37:00
因為他不會其他作法吧...?
作者:
monoceros629
(獨角獸)
2017-11-05 00:38:00
不考慮效能問題的話,字串設計很好擴充新欄位
作者:
slamgundam
(Rick)
2017-11-05 00:43:00
不如用NoSQL?
作者:
andymai
(人生只有一次)
2017-11-05 00:51:00
擴充新欄位? 不懂 大大願意再說詳細點嗎?換成 nosql 應該會有一堆人跳腳 XD
作者:
shortoneal
(不告訴你咧)
2017-11-05 01:08:00
大部分都是懶吧..
作者:
aoksc
(é‡å‡ºæ±Ÿæ¹–)
2017-11-05 01:15:00
基本上大概是沒什麼概念 這種方式北七死了 還要轉來轉去的
作者:
yyc1217
(somo)
2017-11-05 01:20:00
有用ORM的話是沒差啦
作者: iFEELing (ing)
2017-11-05 01:40:00
不一定會full scan ,看你index怎麼打....只聽過在IMS DB那個年代有人這樣玩過....
作者:
THEWORLDS
(天下)
2017-11-05 01:45:00
單純方便而已,大多是NOSQL在用的,如果關聯式資料庫用的話基本上就是只想靠substring,intdexof打天下沒別的用途,掃描的話不用擔心現在db都做得很好,如果真的上億筆資料不太可能這樣子存,除非你是某幾家大廠目前會存成字串的資料格式通常都是圖檔比較多
作者: t64141 (榕樹)
2017-11-05 02:00:00
也覺得是懶得花心思考慮資料型態
作者:
SamMa
(8月世青賽)
2017-11-05 02:47:00
除了偷懶外想不到好處如果想改變同事的觀念,直接問本人如何?人的想法只有自己能改變
作者:
stitchris
(史迪奇里斯)
2017-11-05 04:38:00
肯定是只看到一個範例以為資料都是這麼存。如果他第一個看到的範例是用float, 相信他會把所有字串轉成float存放..
作者: flash5408
2017-11-05 04:55:00
貴公司不做code review的嗎...
作者:
monoceros629
(獨角獸)
2017-11-05 07:53:00
我看錯了,如果是全欄位都存成字串的話,應該是腦袋有洞
作者:
day831231
(下個地點)
2017-11-05 08:28:00
我之前有看過一次,對方的解釋是說曾經有幾次資料庫更新,float增加0.001之類的,後來就全部存字串確保正確
作者:
dreamnook
(亞龍)
2017-11-05 09:32:00
個人經驗而言是用SQL做NoSQL的常態擴充才變得如此xD那為什麼不用NoSQL DB? - 歡迎學到職場政治xD
作者:
join183club
(183club)
2017-11-05 09:38:00
怕數字overflow ?
作者: bbser
2017-11-05 10:23:00
2017年了,資料庫已經和20年前的樣子很不一樣了。
作者:
ChungLi5566
(中壢56哥)
2017-11-05 17:01:00
沒遇過上千萬筆的資料表吧
作者:
abc0922001
(中士abc)
2017-11-05 17:27:00
數字硬要存成字串,效率就差了
作者: twntwn
2017-11-05 18:13:00
完全沒好處
作者:
f496328mm
(為什麼會流淚)
2017-11-05 19:24:00
我剛開始就是這樣幹的,我自己是非本科,所以不知道差別,後來其他人給我意見後,就數字改成數字,日期轉成日期
作者: zerrofighter
2017-11-07 19:06:00
沒啥好處,壞處倒是不少
作者:
johnny94
(32767)
2017-11-08 11:14:00
講那麼多,就是不會設計data model 而已啊,工作久了發現一堆不會設計的人都不知道從哪學來的奇葩知識
作者:
jackaabb
(林)
2017-11-08 23:46:00
其實銀行只有金額才會給數值型態,其它的話大都是給char或varchar,但會給長度。
繼續閱讀
Re: [討論] 高雄舒服現職 vs 台北百萬年薪
UNIQLOCK
[請益] 是否該轉職
sky8306
[請益] 轉職offer 請益
hjyfrank
[徵才] 台灣創建雲端徵PM,CRM顧問,工程師
benji2007
Re: [討論] 大家公司會需要打卡嗎?
mrmoneyc
[討論] 高雄舒服現職 vs 台北百萬年薪
monoceros629
Re: [請益] 工作滿三個月疑問...
aoksc
[徵才] 高雄穎崴科技徵網管系統工程師(30~50K/3Y)
wavein
[徵才] Senior Full-Stack Engineer-起薪八萬起,保障14個月
aksk
[請益] 工作滿三個月疑問...
q42032000
Links
booklink
Contact Us: admin [ a t ] ucptt.com