哪种数据类型最适合在数据库中保存图像?

时间:2015-04-20 11:22:45

标签: sql-server sql-server-2008 blob

我们正在使用Asp.net和Sql server开发电子商务网站。客户可以查看和订购各种开关和灯具。

由于我们需要为每个类别显示这些产品的图像,我们需要显示的图像数量可能会增加到500以上。我们对是否应该将这些图像保存为SQL中的图像类型或者它是否更好感到困惑存储图像的路径。在后一种情况下,将所有图像存储在单个文件夹下更好吗?

请告知最佳行动方案。

6 个答案:

答案 0 :(得分:11)

image数据类型与图像无关。我不知道它为什么存在。这是遗产。

存储图像,就像存储任何其他blob一样:varbinary(max)

The issue whether to store blobs in the database at all has been discussed before.请注意,那里的答案非常固执和主观。显然,人们应该总是将blob存储在数据库外部。

答案 1 :(得分:7)

您可以在sql server上为 BLOBs 使用以下数据类型:

Binary:固定大小最多8,000个字节。

VarBinary(n):可变大小,最多8,000个字节(n指定最大大小)。

VarBinary(max):可变大小,限制为2 GB。

What Is a BLOB?

答案 2 :(得分:3)

我建议您可以将数据库中的图片网址与产品ID保存在一起。但是,如果您一次请求最多500个网址,我建议可能在中间引入一个CDN来缓存图像URL。将对性能产生重大影响

答案 3 :(得分:1)

将图像存储到文件夹并将该文件的路径存储到sql server是个好主意。但它可能导致文件的同名并被替换。所以保存时间戳。我认为它会帮助你以另一种方式保存到sql server的Image Datatype。

将数据保存到sql server图像数据类型在下面的链接上按照Guildline

Go to Link

答案 4 :(得分:0)

让我们考虑一下。如果存储在blob字段中,请确保为该数据创建单独的文件组。如果您决定存储为路径。使用文件流。数据库将管理路径。它将在交易中处理。它将与数据库一起备份。

答案 5 :(得分:-1)

将图像直接保存到数据库中并不是一个好主意。最好将图像和媒体/文档文件保存到 s3 存储桶/cdn 并且您不想支付那么多费用。保存图像进入文件夹并使用 varchar 数据类型

将其路径保存到数据库