作者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://webptt.com/cn.aspx?n=bbs/Database/M.1607852714.A.D32.html
1F:推 e23882: 用RESOURCE 12/14 10:40
2F:推 nyitalumnus: 第一种作法没有正规化。 01/31 12:58
3F:→ nyitalumnus: 第二种作法如果table有index的话,其实效能不会差。 01/31 12:59