Sql server 在MSSQL vs磁盘中存储图像

Sql server 在MSSQL vs磁盘中存储图像,sql-server,image,filesystems,storage,Sql Server,Image,Filesystems,Storage,我正在C#NET中开发一个基于MSSQL数据库的内部应用程序。 用户可以上传链接到特定实体的图像。这些图像通常有4到5 MB左右,无法压缩存储 现在,这些映像存储在应用程序所在的文件系统中。打印图像子集时存在延迟问题,可能是30。它们通过DB进行过滤,并通过我从DB获得的locationstring加载,然后 Sytem.Drawing.Image.FromFile(locationstring) 我可以(而且必须)调整图像的大小以便打印(400x255px),以便在应用程序中查看它们,它们需

我正在C#NET中开发一个基于MSSQL数据库的内部应用程序。 用户可以上传链接到特定实体的图像。这些图像通常有4到5 MB左右,无法压缩存储

现在,这些映像存储在应用程序所在的文件系统中。打印图像子集时存在延迟问题,可能是30。它们通过DB进行过滤,并通过我从DB获得的locationstring加载,然后

Sytem.Drawing.Image.FromFile(locationstring)
我可以(而且必须)调整图像的大小以便打印(400x255px),以便在应用程序中查看它们,它们需要具有原始大小和质量

我应该重新设计图片的存储方式,并实现一项功能,用户可以在其中更改图像链接到的实体(我已经找到的实体)

当图像通过应用程序存储时,我重命名了它们——它们得到一个GUID作为名称——原始名称和它们所属的实体存储在数据库中。 我正在考虑将这些图像存储在数据库中,而不是文件系统中。它们位于一个用户无权访问的目录中,因此这对它们没有任何影响

在这种情况下,将映像存储在DB而不是文件系统中有意义吗


目前,应用程序数据库是MSSQLS2008R2,但可以切换到MSSQLS2014。MSSQL服务器和文件系统由外部托管,并通过Citrix访问。应用程序也通过Citrix托管。

您应该将图像存储在磁盘中,其路径应该存储在数据库中。 如果您想重新调整图像的大小(使用您的C代码),请将其放入另一个文件夹,并将其路径存储在db中

有关更多详细信息,请参见


您应该将图像存储在磁盘中,其路径应该存储在数据库中。 如果您想重新调整图像的大小(使用您的C代码),请将其放入另一个文件夹,并将其路径存储在db中

有关更多详细信息,请参见