Je dois développer un CMS qui supportera l'anglais, l'arabe en deux langues. Ce CMS sera une sorte de site de publication d'articles. Lors de la conception et de l'analyse, j'ai constaté que certains articles comptaient plus de 8 000 caractères. Ma table a une colonne comme
PageID int,
PageTitleEnglish nvarchar(200),
PageTitleArabic nvarchar(200),
PageDescEnglish nvarchar(500),
PageDescArabic nvarchar(500),
PageBodyEnglish nvarchar(max)
PageBodyArabic nvarchar(max)
Si je garde PageBody comme nvarchar (4000) alors limité à 4000 caractères et si je dois stocker la version arabe alors j'ai besoin de 16000 octets (comme l'arabe est Unicode et prend 3 fois plus d'espace que ASCII).
Il ne me reste donc que l'option de définir PageBody comme nVarchar (max) , cela aura un inconvénient du point de vue des performances. Ma véritable question est de savoir si certaines données de la colonne PageBody contiennent moins de 4 000 caractères, est-ce MS SQL Store que les données de la colonne en ligne ou séparément dans la base de données.
J'ai également cherché cela sur Google, mais je n'ai trouvé aucune réponse pertinente ni comment améliorer les performances dans un tel scénario.
Toute suggestion de meilleure pratique pour une telle conception de CMS multilingue est la bienvenue.
Je dois prendre en charge seulement deux langues arabe et anglais