将外部资源存储在DB中?

时间:2009-10-08 20:23:19

标签: sql-server-2005 file external

我有数据库项目有2个外部资源:A。)图像和B.)HTML文件。

它们应该作为列存储在数据库中,还是DB只是保存指向文件系统的指针?

每种方法的优点和缺点是什么?

每个项目的HTML文件大约是200k,而每个项目的图像大约是200k(最多5-10个图片)

感谢。

1 个答案:

答案 0 :(得分:0)

随着一切,“它取决于”。

就个人而言,如果您有充分的理由将它们存储在数据库中,我会强烈考虑将它们作为image / ntext / varbinary(blob)列存储在数据库中。

我主张不存储到本地文件系统的路径,因为这使得将数据库移动到另一台机器很困难,因为存储在数据库中的路径很可能无效。

您可能想要研究SQL2008的FILESTREAM blob-column修饰符。可以在http://blogs.msdn.com/pedram/archive/2007/06/04/store-any-data-in-sql-server-2008-katmai.aspx找到该功能的简短概要,并提供更多详细信息,而不是动摇一下:http://technet.microsoft.com/en-us/library/bb933993.aspx