Currently, the database has 2 separate languages: English & French. Knowing the fact that I may add more languages in the future, which one of these three solutions would be more appropriate?
#1. Creating separate page_translation
tables for each language:
CREATE TABLE page_translation_en (
id INT,
page_id INT,
translation LONGTEXT
);
CREATE TABLE page_translation_fr (
id INT,
page_id INT,
translation LONGTEXT
);
...
#2. Adding translation
columns to the pages
table:
CREATE TABLE pages (
id INT,
page_id INT,
translation_en LONGTEXT,
translation_fr LONGTEXT,
...
);
#3. Creating a page_translations
table that contains all translations
CREATE TABLE page_translations (
id INT,
page_id INT,
language_id INT,
translation LONGTEXT
);
Would +1M pages and 3 separate languages influence the query performance for solutions #2 & #3
where all the translations are in one table? also, considering that I would like to search the translation contents...