在SQL Server中的表中存储大量文本的最佳方法是什么?
varchar(max)可靠吗?
答案 0 :(得分:54)
在SQL 2005及更高版本中,VARCHAR(MAX)确实是首选方法。 TEXT类型仍然可用,但主要是为了向后兼容SQL 2000及更低版本。
答案 1 :(得分:12)
我喜欢使用VARCHAR(MAX)(或实际上是NVARCHAR),因为它的工作方式类似于标准的VARCHAR字段。自引入以来,我尽可能使用它而不是TEXT字段。
答案 2 :(得分:2)
在BLOB中
BLOB是非常大的可变二进制或字符数据,通常是文档(.txt,.doc)和图片(.jpeg,.gif,.bmp),它们可以存储在数据库中。在SQL Server中,BLOB可以是text,ntext或image数据类型,可以使用文本类型
文字
可变长度的非Unicode数据,存储在服务器的代码页中,最大长度为231 - 1(2,147,483,647)个字符。
答案 3 :(得分:2)
根据找到here的文字,varbinary(max)是要走的路。您将能够存储大约2GB的数据。
答案 4 :(得分:2)
Varchar(max)仅在SQL 2005或更高版本中可用。这将存储最多2GB,可以视为常规varchar。在SQL 2005之前,使用“text”类型。
答案 5 :(得分:2)
将文本拆分为数据库实际可以处理的块。并将拆分文本放在另一个表中。在原始表格中使用id
表格中的text_chunk
作为text_chunk_id
。您可能希望表中的其他列保留适合您最大文本数据类型的文本。
CREATE TABLE text_chunk (
id NUMBER,
chunk_sequence NUMBER,
text BIGTEXT)
答案 6 :(得分:0)
最好将它们另存为.txt文件到服务器,并将文件路径保存到数据库。