大量のデータを処理できる多言語の 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) に分割することです。この場合、これらのテーブル間の構造を簡単に同期する必要があります。これはこの問題を解決するための適切な方法ですか、それともより良い方法がありますか? これが良い解決策である場合、変更を監視し (構造のみで、データの同期はありません!)、それらの構造を同期するのに役立つものはありますか?