在SQL Server表中存储大量文本的最佳方法是什么?

时间:2008-09-26 16:28:22

标签: sql-server

在SQL Server中的表中存储大量文本的最佳方法是什么?

varchar(max)可靠吗?

7 个答案:

答案 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文件到服务器,并将文件路径保存到数据库。