看板 Soft_Job 關於我們 聯絡資訊
完全沒有好處 我是他主管的話,早就開除他了 根本是軟體圈的亂源! 是不是table scan也不是關鍵問題,所以你也是非懂似懂。 首先,資料排序就是一個問題,數值型態排序,100 > 9,但是字串 “9” > “100”用 錯型態資料庫對你的排序完全是錯亂的! 更不要說 index 在這種情況無法發揮效益!因為index 就是依賴B-Tree排序來加快效能! 再來就是禍害千年的維護問題,某個欄位看起來都是數字,但資料型態是字串,如果你沒 有整個資料庫全部的資料都看過,你敢打包票說裡面全是數字沒有不乾淨的髒東西? 這種在做資料轉移和統計分析最容易踩到古人的地雷 總之就是一個混蛋、亂源,快讓他退休吧 要我刪文,老規矩,私信我 ※ 引述《andymai (人生只有一次)》之銘言: : 如題 : 某個同事不知道為什麼有個根深蒂固的觀念 : 每次只要談到資料表設計 : 都會說要把資料存成字串(非 json) : 但是存在字串的話 : 查詢時不是會引起 full table scan 嗎? : 如果是數值 拿出來的時候要轉型態才能用 : 存回去又要再轉成字串 : 某次又耳聞某公司也會這樣做 : 這下小弟實在不懂了 : 好奇好處在哪? : 版上有大大願意說明一下嗎? : (為什麼不問他? 因為上次說過 full table scan 的問題了 : 所以上次沒這樣做 這次又...) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.32.139.28 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1509821058.A.AE9.html
stitchris: 最怕還到觀念完全錯誤還以爲自己是對的, 指正他還說我 11/05 05:36
stitchris: 這樣做這麼久了都沒出事我是對的 11/05 05:36
arxing: 我上一份工作剛進去 要接api也是發現資料庫欄位全部都字 11/05 06:32
arxing: 串… 格式還不一致導致我還要例外處理 礙於菜鳥也不能說 11/05 06:32
arxing: 什麼 11/05 06:32
katy50306: 待的小公司 之前數值跟日期都存字串 轉換時採了一堆雷 11/05 08:07
chocopie: 不只小公司,大公司也有可能這樣搞...... 11/05 08:13
chocopie: 如果是跨國外商,情況可能好一點 11/05 08:13
fgh81113: 不是大小公司問題 是最初寫的那個人是不是製杖問題 11/05 09:34
abccbaandy: 碰過很多數字存字串的耶...不過日期存字串就有點扯了 11/05 11:24
mintu: 感覺那個人不想了解 DB 內欄位類型的差異 11/05 12:39
devilkool: 銀行滿多系統需要日期存字串的... 11/05 12:58
ck52623: 政府機關也是一堆這種垃圾db 11/05 15:13
f496328mm: 政府機關的資料真的很垃圾,沒辦法,所以才要data clea 11/05 19:26
f496328mm: n 11/05 19:26
expury: 但是,記得有的語言似乎可以用字母順序排序or大小(? 11/05 20:30
expury: 忘記哪個語言 11/05 20:30
accessdenied: 樓上,就是因為按照字母順序排序,所以9才會大於100 11/05 20:52
accessdenied: 啊 11/05 20:52
accessdenied: 因為字串比對使用字元內碼排序,無論ascii或unicode 11/05 20:54
accessdenied: 都一樣 11/05 20:54
soi1dsnake: 都用字串了,當然是存009啊 11/06 00:14
accessdenied: 當你資料突破千位,上面的方法變成要臨時擴充,舊 11/06 00:38
accessdenied: 資料要全部抓出來轉換,這不是禍害千年的維護問題 11/06 00:39
accessdenied: 嗎?不做的話,系統就會開始異常了 11/06 00:39
frank868: 我永遠記得有個年資18年的前輩用字串來判斷數字的 11/06 22:13