【发布时间】:2012-01-02 20:41:42
【问题描述】:
数据库中有一个名为blob的列类型,用于存储二进制数据。
但更多时候,我看到的解决方案是压缩二进制数据,然后将二进制数据转换为 base64,并将 base64 字符串作为 varchar 或文本存储在数据库中。
Python 代码示例:
import zlib, base64
base64_str = base64.b64encode(zlib.compress(binary_data, 9))
所以有两种方法可以将二进制数据存入数据库:
- 作为 blob
- 作为压缩的 base64
我的问题是: 哪种方式更好,为什么?
【问题讨论】:
-
我不明白为什么有人会使用方法 2。它引入了不必要的复杂性并将数据混淆了两次。但是,我不会发布这个答案,因为我没有任何确凿的证据表明没有任何情况下压缩的 base64 比
BLOB更有利。
标签: database binary base64 blob