在数据库中存储大量文件

时间:2010-11-24 18:19:52

标签: sql-server

我们得到UploadedFiles数据库表,其中存储了大量文件(目前为400k)。

如果我们在单独的表中移动实际文件数据(varbinary字段),我们会获得任何性能优势吗?

3 个答案:

答案 0 :(得分:5)

根据您的SQL版本,您可以查看FILESTREAM:

http://technet.microsoft.com/en-us/library/bb933993.aspx

答案 1 :(得分:3)

您可以使用分区并将该字段放在不同的分区中。以下是一些参考链接:

注意在创建分区以优化性能时,将每个分区放在不同的物理磁盘上。

http://msdn.microsoft.com/en-us/library/ms345146%28SQL.90%29.aspx

http://databases.about.com/od/sqlserver/a/partitioning.htm


将文件存储在文件系统中,并在varchar字段中保留对该位置的引用。

答案 2 :(得分:1)

如果您使用的是SQL Server 2000/2005并且没有可用的文件流,请不要忘记创建单独的文件组和数据文件的能力。

配置用户文件组并将它们放在系统数据库对象的不同物理驱动器(或LUN)上,从而提高性能。这也为您提供了更大的备份和还原操作灵活性。更多信息:

http://blogs.msdn.com/b/buckwoody/archive/2009/05/21/sql-server-best-practices-setting-a-default-filegroup.aspx