所以我一直在阅读一些关于我是否应该在MSSQL中存储大文本的文章,但是我读到的所有文章似乎都是固执己见的,并且没有具体的答案。我正在尝试在Asp.net中构建一个wiki,每个页面大约10000-20000个字符,我将有超过3000个页面
我想知道将文本保存在数据库中是否可以?因为DB臃肿会慢吗?如果不是,我该怎么办?将它们保存在文本文件中并保留地址?
答案 0 :(得分:3)
您只需使用varchar(max)
或nvarchar(max)
数据类型即可存储文本。如果需要,后者用于支持Unicode。
更好吗?它主要取决于你将如何处理这些数据。根据您的SQL Server版本和硬件,您有很多选择 - 这意味着您需要(必须)测试解决方案,以确保您使用最适合您的方案的技术。
如果您担心数据的大小,可以查看压缩数据的选项:
如果您要对文字执行搜索,您也应该检查full text search。或者您可以创建标签并按其搜索。
同样,如果某些数据在一段时间后不会被读取或修改,您可以将其存档。有不同的策略。
如果您使用的是SQL Server 2017,则还可以检查COLUMNSTORE索引,因为nvarchar(max)
受支持。