【发布时间】:2009-02-07 02:05:33
【问题描述】:
在数据库中存储图像的最佳格式是什么,例如二进制、base64...等,以获得最佳速度/大小。
【问题讨论】:
标签: database image binary format base64
在数据库中存储图像的最佳格式是什么,例如二进制、base64...等,以获得最佳速度/大小。
【问题讨论】:
标签: database image binary format base64
Microsoft 过去对 SQL Server 的建议是,出于速度和大小的考虑,将图像存储在文件系统中,并在数据库中提供链接。我认为他们已经稍微缓和了他们的偏好,但我仍然认为它在大小方面肯定是一个更好的主意,因为它不会占用数据库中的空间。
【讨论】:
Blob 是您问题的答案。
您可以将图像存储在硬盘中并将文件名存储在数据库中,而不是将图像直接存储到数据库中。我认为这种方式是合适的。性能方面这很好。
【讨论】:
二进制。
除此之外,是否选择 PNG、GIF、JPEG、TIFF 等取决于图像的用途(质量、压缩等)。
用例将(应该)驱动格式而不是数据库。
【讨论】:
大多数数据库都可以通过某种方式存储二进制数据:
至于图像文件格式,这是一个单独的问题。不确定你是否暗示了这个问题。如果您是,那么 PNG、GIF 和 JPG 之间通常无关紧要,除了 JPG 是一种有损格式(另外两种是 lsosless 格式),这对于照片等来说是可以的,但对于图标或文本来说则不行。
【讨论】:
Blob 并不关心你用什么样的图像填充它们,所以实际上,正确的选择可能是在使用前需要最少的后选择处理。
【讨论】:
使用 hdf5。
类似于 XML 文档,HDF 文件是自描述的,允许用户指定复杂的数据关系和依赖关系。与 XML 文档相比,HDF 文件可以包含二进制数据(以多种表示形式)并允许直接访问文件的某些部分而无需先解析整个内容。
【讨论】:
这在很大程度上取决于图像的用途。
我们只需要更多信息。如果文件很大,请将它们存储在数据库中带有链接的目录中。
【讨论】: