作者iceman5566 (iceman5566)
看板Database
標題[SQL ] 多語系的 table 的 Best practice?
時間Sun Dec 13 17:45:12 2020
各位前輩大家好
想請問一下在多語系的 table 你們會怎麼設計會是最好的 best practice?
我這邊有兩種做法
我以 Product 當作翻譯
1. 把語系在欄位直接攤開,例如 en_name, jp_name, tw_name...
優點:SQL Query 很好撰寫,不需要任何的 join
缺點:Scalability 很差,如果今天又新增多語系欄位,例如 remark 要多語系
有十個語言的話,多一個新的欄位就在新增十個新欄位。
2. 新建 language table,例如 product_language,
然後用 language id 跟 product_id 來區別各個語言名稱。
優點:不用攤開欄位,table 長相比較精簡
缺點:Join 會有成本,如果今天是大 table 會要考慮效能問題
不曉得大大們有沒有其他 solution?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.214.209.223 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Database/M.1607852714.A.D32.html
推 e23882: 用RESOURCE 12/14 10:40
推 nyitalumnus: 第一種作法沒有正規化。 01/31 12:58
→ nyitalumnus: 第二種作法如果table有index的話,其實效能不會差。 01/31 12:59