【发布时间】:2018-06-19 15:41:47
【问题描述】:
所以我一直在阅读几篇关于是否应该在 MSSQL 中存储大文本的文章,但是,我阅读的所有文章似乎都是固执己见,没有具体的答案。我正在尝试在 Asp.net 中构建一个 wiki,每个页面大约 10000-20000 个字符长,我将拥有 3000 多个这样的页面
我想知道将文本保留在数据库中是否可以?由于数据库膨胀,它会变慢吗?如果不是,我该怎么办?将它们保存在文本文件中并将地址保存在那里?
【问题讨论】:
-
试试 nvarchar(max)。根据您的版本,这通常会进行优化。
-
只有 60MB 的文本数据。它可能会驻留在 SQL 缓冲区高速缓存中。通过主键进行单例查找应该很快。
-
嗨@PeterSmith,感谢您的回复。是的,我知道我可以使用 nvarchar(max) 但我想知道它是否合适?因为超过 3000 篇文章每篇都有 15000 个字符是一件大事!
-
查看@DanGuzman 的评论
-
如上,让 SQL 为你管理存储,这比将其存储在单独的文件中并存储文件路径要好得多(这本质上是 blob 存储在幕后所做的) .每行 40kb 并不算多(除非您尝试一次选择所有记录),并且使用 nvarchar 列意味着您可以在数据上创建全文索引,使搜索比循环文件快得多。
标签: asp.net sql-server tsql