在服务器上保存图片

时间:2010-10-30 11:35:06

标签: asp.net

我正在为一家汽车公司编程网站,我需要为每辆车保存三张图片。什么是更好的存储在数据库(表描述)路径图像和图像保存在一些文件夹中或保存图片表(MS SQL)?

4 个答案:

答案 0 :(得分:1)

主要问题是:这些图片平均有多大?

Microsoft Research(To BLOB or Not To BLOB: Large Object Storage in a Database or a Filesystem)的全面检查表明:

  • 只要数据通常小于256 KB,最好将内容存储在SQL表中
  • 如果元素通常大于1 MB
  • ,最好存储在文件系统上

中间是一个灰色区域......

所以:你的照片大多超过1 MB吗?然后存储在磁盘上并保留参考。否则,我建议将它们存储在数据库表中。

答案 1 :(得分:0)

最好保存图片的路径(通常甚至更好的文件名)。通过将图片存储在表格中,您可以增加表格的大小,从而增加查找时间,插入时间等,但没有明显的增益。

另一件事是你说你需要为每个帖子保存3张图片,所以这让我觉得你在帖子表中使用的字段如pic1,pic2,pic3。您可能希望对此进行规范化,以便您有一个post_pictures表,用于将每个帖子与图片链接。

例如: post_pictures: post_picture_id | post_id | picture_filename。 (你甚至可以只用两个字段来逃避。)

答案 2 :(得分:0)

根据服务器场的功能,保存在SQL中。我已将字段设置为varbinary(max)。

答案 3 :(得分:0)

您在将图像存储在数据库中有什么优势?你能想到使用存储在数据库中的图像数据吗?

我建议您将图像存储在文件系统而不是数据库中。您可以使用数据库在数据库中存储图像的元数据(路径,关键字等)。