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

看板PHP作者 (黑田祐司)時間7年前 (2017/12/29 16:54), 7年前編輯推噓3(3017)
留言20則, 5人參與, 8年前最新討論串1/1
請問板上的各位大大 比方說有一筆資料的Key叫做A 另外有三筆不同資料對應到A 以效能優先的話 我應該要另外開一個資料表 來存放這三筆資料來對應A比較好 還是直接在A這筆資料的資料表裡面新開一個欄位 用Json格式來存這三筆資料會比較好 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.176.128.70 ※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1514537668.A.900.html

12/29 18:00, 7年前 , 1F
你的DB引擎/版本,或是你實際怎麼用,都會有差
12/29 18:00, 1F

12/29 18:02, 7年前 , 2F
例如MyISAM動不動就鎖整個表,join會讓狀況更糟
12/29 18:02, 2F

12/29 18:05, 7年前 , 3F
反過來如果json裡面的資料有需要跟其他資料有關聯,那拆
12/29 18:05, 3F

12/29 18:06, 7年前 , 4F
開可能比較易用。或者得用 virtual column 之類的黑魔法
12/29 18:06, 4F

12/29 18:22, 7年前 , 5F
你三筆是怎樣三筆 是小明小華小毛都是小新的下線
12/29 18:22, 5F

12/29 18:22, 7年前 , 6F
還是小新有5號水壺7號球鞋和26號的寫真雜誌
12/29 18:22, 6F
第二個 ※ 編輯: q10242 (223.136.166.85), 12/29/2017 20:45:13

12/29 20:47, 7年前 , 7F
我會開新欄 比較方便xd
12/29 20:47, 7F

12/29 23:37, 7年前 , 8F
既然你三筆資料各不相同(水壺、球鞋、雜誌)
12/29 23:37, 8F

12/29 23:38, 7年前 , 9F
那不是應該開三個表來存嗎 存進去得到三個ID
12/29 23:38, 9F

12/29 23:38, 7年前 , 10F
然後你可以用各種方法存這三個ID
12/29 23:38, 10F

12/29 23:38, 7年前 , 11F
(1)小新那張表多開三個欄位 分別放這三個ID
12/29 23:38, 11F

12/29 23:40, 7年前 , 12F
(2)開一張新表 有(物品種類,ID)兩個欄位
12/29 23:40, 12F

12/29 23:40, 7年前 , 13F
裡面放(水壺,水壺id),(球鞋.球鞋id),(雜誌,雜誌id)
12/29 23:40, 13F

12/29 23:41, 7年前 , 14F
(3)小新那張表開一個欄位 裡面放這三個ID的json
12/29 23:41, 14F

12/29 23:41, 7年前 , 15F
依照經驗 最不推薦json法 除非這三筆資料很少拿出來看
12/29 23:41, 15F

12/29 23:42, 7年前 , 16F
不然你要join的時候沒得join 很不方便
12/29 23:42, 16F

12/30 13:33, 7年前 , 17F
我會開新表 join,查詢方便,而且明細頁用不到
12/30 13:33, 17F

01/02 09:46, 8年前 , 18F
用json存在一個欄位裡?是哪種DB
01/02 09:46, 18F

01/02 09:48, 8年前 , 19F
這種應該要開新表 不一定永遠只存三筆資料 如果未來要存
01/02 09:48, 19F

01/02 09:48, 8年前 , 20F
十筆、二十筆呢
01/02 09:48, 20F
文章代碼(AID): #1QHWB4a0 (PHP)
文章代碼(AID): #1QHWB4a0 (PHP)