【发布时间】:2012-04-04 22:07:06
【问题描述】:
如果我必须保存许多相关的并且可能以不同语言划分的字符串:最好的方法是什么?
我认为我有以下选择。选项 1 和 3 对我来说是最明确的解决方案。它们有更多的列,但会导致更少的行。
选项 2 和 4 是最灵活的选项(我可以在不更改数据库的情况下动态添加新的 string_x)。它们只有三列,但会产生很多行。
选项 5 会产生很多表。
选项 1:
id | string_1 | string_2 | string_3 | string_4 | ... | string_n | lang
选项 2 *(其中名称为 string_1 或 string_2 等)*
id | name | lang
选项 3
id | string_1 | string_2 | string_3 | string_4 | ... | string_n
id | lang | stringid
选项 4
id | lang | stringid
id | name
选项 5
id | string_1 | lang
id | string_2 | lang
id | ... |lang
如果感兴趣的话,我正在使用它来存储多个视图(一行视图、两行、长描述等)的预缓存 html 值。
【问题讨论】:
-
使用选项 4。在哪里,我猜第一个带有以下列的表:
id | lang | stringid是您的基本表,另一个id | name存储主字符串!
标签: mysql sql database performance normalization