[請益] 開一個欄位 vs新開一個表

作者: q10242 (黑田祐司)   2017-12-29 16:54:25
請問板上的各位大大
比方說有一筆資料的Key叫做A
另外有三筆不同資料對應到A
以效能優先的話
我應該要另外開一個資料表 來存放這三筆資料來對應A比較好
還是直接在A這筆資料的資料表裡面新開一個欄位 用Json格式來存這三筆資料會比較好
作者: GALINE (天真可愛CQD)   2017-12-29 18:00:00
你的DB引擎/版本,或是你實際怎麼用,都會有差例如MyISAM動不動就鎖整個表,join會讓狀況更糟反過來如果json裡面的資料有需要跟其他資料有關聯,那拆開可能比較易用。或者得用 virtual column 之類的黑魔法
作者: MOONRAKER (㊣牛鶴鰻毛人)   2017-12-29 18:22:00
你三筆是怎樣三筆 是小明小華小毛都是小新的下線還是小新有5號水壺7號球鞋和26號的寫真雜誌
作者: molopo (mmm)   2017-12-29 20:47:00
我會開新欄 比較方便xd
作者: MOONRAKER (㊣牛鶴鰻毛人)   2017-12-29 23:37:00
既然你三筆資料各不相同(水壺、球鞋、雜誌)那不是應該開三個表來存嗎 存進去得到三個ID然後你可以用各種方法存這三個ID(1)小新那張表多開三個欄位 分別放這三個ID(2)開一張新表 有(物品種類,ID)兩個欄位裡面放(水壺,水壺id),(球鞋.球鞋id),(雜誌,雜誌id)(3)小新那張表開一個欄位 裡面放這三個ID的json依照經驗 最不推薦json法 除非這三筆資料很少拿出來看不然你要join的時候沒得join 很不方便
作者: xdraculax (首席怪叔叔)   2017-12-30 13:33:00
我會開新表 join,查詢方便,而且明細頁用不到
作者: vi000246 (Vi)   2016-01-02 09:46:00
用json存在一個欄位裡?是哪種DB這種應該要開新表 不一定永遠只存三筆資料 如果未來要存十筆、二十筆呢

Links booklink

Contact Us: admin [ a t ] ucptt.com