我正在寻找一些关于可以处理大量数据的多语言 MySQL 数据库结构的建议。我们目前正在使用以下方法:
Articles <- Article_translations -> Languages
id id id
date language_id (fk) locale
category article_id (fk)
content
好的,可以说我们有 100.000 篇文章和 5 种语言......嗯..你看到了问题。数据越大,数据库越慢(这里只是一个猜测,但是绝对必要的复杂 JOIN 查询可能不是 O(log(n)),而是 O(n^2))。
我们当前的解决方案是将 Article_translations 拆分为 [locale]_article_translations(例如 en_us_article_translation),在这种情况下,我们需要轻松地同步这些表之间的结构。这是解决这个问题的合适方法还是有更好的方法?如果这是一个好的解决方案,是否有一些东西可以帮助监控变化(只有结构,没有数据同步!)并同步这些结构?