我想建立一个允许每个帖子有200个不同翻译的系统。然而,大多数翻译将不存在,所以会有很多空的数据集。如果我将每种语言(包括空白语言)保存为特定列,那么它的性能和存储量会达到多少? I.E.如何存储大部分空数据?
English | Arabic | Mandarin | Russian | French | German
Potato | | | | Pomme de Terre |
Orange | | | | Orange |
Peach | | | | |
我将通过整个列表不循环,很多时候,我会使用一个会话变量或usersetting,然后直接从该列加载如果它存在,也可能降低为默认语言,也许以后那一个完整的搜索。
if (exists(french))
{echo french}
else {if(exists(english))
{echo english}}
else {echo links to non-null language}
}
我会假设,如果我告诉服务器要去哪个列,处理方面的开销可以忽略不计?我还假设一个空单元在存储方面可以忽略不计?然而,我不知道,它可能是一个巨大的错误。
我想这样工作的原因是我可以分配语言代码,而不是每个安装的实例具有不同的顺序(例如,英语|法语|德语|普通话与英语|普通话|德语|法语)。
为了防止XY-问题,这里有一个更具全球性的表述: 我想建立一个系统,允许为许多语言,但我相信在大多数情况下只有1个或两个被使用。什么是有效的存储方式?
这是一个多方面的:使用3台一对多的关系。可以通过使用'标准'双字母国家代码或奥地利德语的'de_AT'等“语言环境”来简化。 –