哪个是更好的存储图像的方法 - 文件夹或SQL Server作为二进制文件?

TGu*_*ond 14 sql-server database-design image asp.net-3.5

我正在计划为客户开发照片库应用程序.我正在开发asp.net 3.5中的应用程序,并希望开发它,以便我可以使用各种前端在多个平台上重用该应用程序.基本上,我想知道将数据存储在数据库中作为二进制文件的不利和优势是什么,而不是简单地将文件存储在应用程序文件夹中.

任何建议将不胜感激!

谢谢,特里斯坦

Qua*_*noi 18

SQL Server 2008支持FILESTREAM存储.

这些文件存储在NTFS像普通文件这样的卷上,但受事务控制的限制,可以通过传递给Win32 API函数的特殊文件名(当然还有任何API基于它的文件名)进行访问,并附加SQL Server安全检查(如GRANT选项等).


小智 6

存储为二进制文件的缺点是您将数据库大小吹成令人难以置信的大小.如果您使用SQL Server的快速版本,每个数据库限制为4GB,那么您的照片库很快就会"完成".

优点是您可以轻松地操纵每个文件和每个用户的访问限制.您只需查看用户权限并决定是否回送图像.

  • 我同意文件系统更好(并存储路径),但请记住,将图像放在数据库中也可提供事务一致性.在SQL Server 2008中,您还可以调查FILESTREAM,这是两全其美的:您将图像存储在数据库中,但它流入/流出文件系统,因此您可以获得事务一致性和其他固有的数据库优势,而不会爆炸您的数据库尺寸. (5认同)