[英]Storing stories in sql server 2008?
我将在SQL Server中的nvarchar(MAX)字段中存储故事,但我知道故事会比MAX允许的更长,所以我应该采取什么方法? 我应该将故事分成多行,还是应该跳过使用数据库并使用文本文件?
我认为这种混淆源于对这里的术语的误解。
nvarchar(n)
是一种数据类型,其中n
可以是1-4000的数字。 在这种情况下,数字n
的最大值为4000,最多可添加8000个字节(每个字符2个字节)。
nvarchar(MAX)
是一个完全不同的数据类型 - 关键字MAX
是一个文字,它不是我上面例子中任何n
潜在值的同义词。 这种类型的字段的最大长度为2 ^ 31-1个字符,或超过10亿个字符,总计超过20亿字节(每个字符2个字节)。
同样的原则也适用于varchar(n)
和varchar(MAX)
除了每个字符可以仅1个字节,在这种情况下可存储的字符数目加倍。 正如马丁史密斯在评论中指出的那样,是否只有1个字节取决于整理!
将它们存储在章节中。
这不是技术性的 - 几乎不可能拥有10亿个nvarchar字符(而nvarchar(max)是“新”TEXT数据类型)。
BUt加载和处理它们将是痛苦的。
将它们存储为章节,并在有意义的情况下为每个章节存储一个开始/结束页码,这样您就可以更轻松地导航。
顺便说一下,你发布了你认为它是800个字符 - 这绝不是一个案例。 限制将是8000字节 - 如果它适用 - 那将是4000字符unicode。
我可能建议调查面向文档的数据库 。
好吧你可以尝试存储为LONGTEXT(Mysql)或TEXT(MSSQL)(如果你想存储我认为你可以使用BLOB的对象)数据类型?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.