Tôi phải phát triển một CMS sẽ hỗ trợ hai ngôn ngữ tiếng Anh, tiếng Ả Rập. CMS này sẽ là một loại trang web xuất bản bài viết. Trong khi thiết kế và phân tích tôi thấy rằng một số bài viết có độ dài hơn 8000 ký tự. Bảng của tôi có một số cột như
PageID int,
PageTitleEnglish nvarchar(200),
PageTitleArabic nvarchar(200),
PageDescEnglish nvarchar(500),
PageDescArabic nvarchar(500),
PageBodyEnglish nvarchar(max)
PageBodyArabic nvarchar(max)
Nếu tôi giữ PageBody là nvarchar (4000) thì tôi bị giới hạn ở 4000 ký tự và nếu tôi phải lưu trữ phiên bản tiếng Ả Rập thì tôi cần 16000 byte (Vì tiếng Ả Rập là Unicode và mất thêm 3 lần dung lượng thì ASCII).
Vì vậy, tôi chỉ còn lại tùy chọn xác định PageBody là nVarchar (max) , Điều này sẽ có nhược điểm từ quan điểm hiệu suất. Câu hỏi thực tế của tôi là nếu một số dữ liệu trong cột PageBody có ít hơn 4000 ký tự thì MS SQL Store sẽ thay vì dữ liệu trong cột nội tuyến hoặc riêng biệt trong cơ sở dữ liệu.
Tôi cũng đã tìm kiếm điều này trên Google nhưng không tìm thấy câu trả lời nào phù hợp và làm thế nào tôi có thể cải thiện hiệu suất trong kịch bản như vậy.
Mọi đề xuất cho thực tiễn tốt nhất cho thiết kế CMS đa ngôn ngữ như vậy đều được chào đón.
Tôi chỉ cần hỗ trợ hai ngôn ngữ Ả Rập và tiếng Anh