簡體   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