繁体   English   中英

在sql server 2008中存储故事?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM