MySql 如何处理多语言产品列表数据以获得最佳性能?

标签 mysql sql internationalization

我有一个关于将数据放入 MySql 数据库的问题。我想创建 Web 应用程序的产品列表类型,其中应该有几个字段,例如:名称(每种语言最多包含 256 个字符的多语言字段)、重量、宽度、高度、颜色、 Material (以及应该包含的其他一些字段)仅包含数字,无需针对每种语言进行更改)。所以我很困惑,我不知道如何正确处理这个任务。

  • 我可以使用单个表来存储所有数据,并为新数据创建新列 语言,但是当开发人员尝试使用 更改数据库中的宽度或高度信息。所以他/她会 必须为所有语言更改此单个参数。

  • 我可以使用 2 个表,其中一个用于多语言“名称”,另一个用于 “产品”,其中第一个表中的 1 个字段表示 第二个表的 ID。在这种情况下,如果开发人员需要更改某些参数,他/她只需更改“产品”表中的 1 个字段。

我知道这个问题可能看起来很主观,但我想其他一些像我一样尝试创建多语言网络应用程序的人会发现这个答案很有用。

附注 抱歉我的英语水平

最佳答案

使用单列进行多个翻译的 ID 标记部分听起来很合理。然后,您可以拥有一个集中式服务器来存储应用程序特定的翻译文件,该文件始终与 ID 同步,以处理不同类型的客户端。任何客户端都应该能够使用自定义调用获取特定的翻译数据。这种机制可以轻松利用缓存优化,并始终保证最新的翻译。

关于MySql 如何处理多语言产品列表数据以获得最佳性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18817429/

相关文章:

php - 通过sql和codeigniter检索数据

mysql - 如何为 mysql : Empty value for port 添加值

sql - 如何获取最近两周创建的存储过程?

php - 使用数据库、php、js 确定餐厅现在是否营业(就像 yelp 一样)

php - JQuery Full Calendar 使用 PHP 限制事件

.net - 本地化日期格式描述符

ruby-on-rails - Rails 国际化 (i18n) : Everything translating except layouts/application. html.erb

mysql - 用于连接 has_and_belongs_to_many 关系的 ActiveRecord 查询

MySQL wait_timeout 变量 - GLOBAL vs SESSION

javascript - 如何生成静态 Django JavaScript 翻译目录