如果某些数据少于4000个字符,nvarchar(max)如何将数据存储在数据库中?
我必须开发一个CMS,以支持两种语言的英语,阿拉伯语。该CMS将是一种Article Publishing网站。在设计和分析时,我发现有些文章的长度超过8000个字符。我的表有一些列 PageID int, PageTitleEnglish nvarchar(200), PageTitleArabic nvarchar(200), PageDescEnglish nvarchar(500), PageDescArabic nvarchar(500), PageBodyEnglish nvarchar(max) PageBodyArabic nvarchar(max) 如果我将PageBody保留为nvarchar(4000),则限制为4000个字符,如果我必须存储阿拉伯语版本,则我需要16000个字节(因为阿拉伯语是Unicode,并且比ASCII占用3倍的空间)。 因此,我只剩下将PageBody定义为nVarchar(max)的选项,这从性能的角度来看是不利的。我的实际问题是,如果PageBody列中的某些数据少于4000个字符,它将比内联列中的数据或数据库中单独存储的数据少。 我也在Google上寻找了这个,但没有找到任何相关的答案以及在这种情况下如何提高性能。 欢迎为此类多语言CMS设计提供最佳实践建议。 我只需要支持两种语言,阿拉伯语和英语