我正在制作一个小的 asp.net mvc 应用程序。我必须从几个 CSV 文件(5 到 10 个文件之间)计算数据。
应用程序必须为这些文件提供上传和下载操作。
我没有经验的部分是数据库。我应该使用什么列类型?文本、图像、二进制?文件大小在 80KB 到 500KB 之间
我正在制作一个小的 asp.net mvc 应用程序。我必须从几个 CSV 文件(5 到 10 个文件之间)计算数据。
应用程序必须为这些文件提供上传和下载操作。
我没有经验的部分是数据库。我应该使用什么列类型?文本、图像、二进制?文件大小在 80KB 到 500KB 之间
类型TEXT
,NTEXT
和IMAGE
已过时 - 不要将它们用于新开发。它们将从未来的 SQL Server 版本中永久删除。
对于 SQL Server 2005 及更高版本,VARCHAR(MAX) / NVARCHAR(MAX)
在处理纯文本文件(如源代码或 CSV 文件)或VARBINARY(MAX)
处理二进制文件时使用。
它们允许每个单个文件最多 2 GB 的存储空间,并且您可以在它们上使用所有常用的 T-SQL 字符串函数来操作它们(即 (N)VARCHAR(MAX) 字段)。
如果您使用的是 SQL Server 2008,还有一个附加选项 -列FILESTREAM
上的属性VARBINARY(MAX)
。这允许您将文件存储在 SQL Server 机器的文件系统(而不是数据库表)中,同时保持事务和数据的完整性。
FILESTREAM 建议用于通常大小超过 1 MB 的文件,或者如果您需要超过 2 GB 的文件(因为您不能在常规VARBINARY(MAX)
列中存储超过 2 GB 的空间)。
马克