【问题标题】:What is the best format to store images in a database?将图像存储在数据库中的最佳格式是什么?
【发布时间】:2009-02-07 02:05:33
【问题描述】:

在数据库中存储图像的最佳格式是什么,例如二进制、base64...等,以获得最佳速度/大小。

【问题讨论】:

    标签: database image binary format base64


    【解决方案1】:

    Microsoft 过去对 SQL Server 的建议是,出于速度和大小的考虑,将图像存储在文件系统中,并在数据库中提供链接。我认为他们已经稍微缓和了他们的偏好,但我仍然认为它在大小方面肯定是一个更好的主意,因为它不会占用数据库中的空间。

    【讨论】:

    • 我同意这种观点。我不知道将图像直接添加到数据库有什么好处,然后我必须处理一个 10 个演出而不是 2 个演出的数据库。伊克。
    • SQL server 2008 没有添加文件流支持,允许通过 SQL server 访问文件吗?无需让您的数据库和文件系统彼此同步,让管理变得更加容易。
    【解决方案2】:

    Blob 是您问题的答案。

    您可以将图像存储在硬盘中并将文件名存储在数据库中,而不是将图像直接存储到数据库中。我认为这种方式是合适的。性能方面这很好。

    【讨论】:

    • 性能方面你认为它好吗?你的用例是什么?
    【解决方案3】:

    二进制。

    除此之外,是否选择 PNG、GIF、JPEG、TIFF 等取决于图像的用途(质量、压缩等)。

    用例将(应该)驱动格式而不是数据库。

    【讨论】:

      【解决方案4】:

      大多数数据库都可以通过某种方式存储二进制数据:

      至于图像文件格式,这是一个单独的问题。不确定你是否暗示了这个问题。如果您是,那么 PNG、GIF 和 JPG 之间通常无关紧要,除了 JPG 是一种有损格式(另外两种是 lsosless 格式),这对于照片等来说是可以的,但对于图标或文本来说则不行。

      【讨论】:

        【解决方案5】:

        Blob 并不关心你用什么样的图像填充它们,所以实际上,正确的选择可能是在使用前需要最少的后选择处理。

        【讨论】:

          【解决方案6】:

          使用 hdf5。

          类似于 XML 文档,HDF 文件是自描述的,允许用户指定复杂的数据关系和依赖关系。与 XML 文档相比,HDF 文件可以包含二进制数据(以多种表示形式)并允许直接访问文件的某些部分而无需先解析整个内容。

          【讨论】:

            【解决方案7】:

            这在很大程度上取决于图像的用途。

            • 头像只能压缩成 JPEGS
            • 将通过图像处理软件处理的图像将是 TIFF
            • 图片网站上的图片将是 JPEG 格式供查看,TIFF 格式供下载。

            我们只需要更多信息。如果文件很大,请将它们存储在数据库中带有链接的目录中。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2012-11-17
              • 2018-03-03
              • 2011-08-09
              • 2021-10-22
              • 1970-01-01
              • 2010-10-11
              相关资源
              最近更新 更多