MYSQL TINYBLOB 与 LONGBLOB

标签 mysql database file blob space

这是我之前问题的跟进:Blob and Storage Requirement

我使用 SHOW TABLE STATUS 进行了一些测试,发现实际使用的总磁盘空间仅取决于上传到数据库的实际文件的大小,而不取决于类型(例如 TINYBLOB 或LONGBLOG) 的专栏。

那么,如果情况并非如此,那么当我们选择一种而不是另一种 BLOB 类型时会有什么不同?

最佳答案

每个大小的 blob 字段都会保留额外的字节来保存大小信息。 longblob 使用 4+n 字节的存储空间,其中 n 是您要存储的 blob 的实际大小。如果您只存储(例如)10 字节的 blob 数据,那么您将使用 14 字节的空间。

相比之下,一个 tinyblob 使用 1+n 个字节,因此您的 10 个字节将占用 11 个字节的空间,节省了 3 个字节。

仅处理少量记录时,3 个字节并不算多,但随着 DB 记录数的增加,节省的每个字节都是一件好事。

关于MYSQL TINYBLOB 与 LONGBLOB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8946224/

相关文章:

c - 在 Linux 上获取文件选择器的简单方法

mysql查询重复项计数和输出格式

mysql - 产生以下输出的 SQL 查询?

c# - 这是 TransactionSope 的正确用法吗?

php - UPDATE DB SET ... 用 0 或 1 填充一个特定的 VARCHAR,无论我设置的值如何

javascript - Node.js Web 套接字服务器 : Is my idea for data management stable/scalable?

php - 我怎样才能在PHP中跳过文件的第一行和最后一行

macos - .completePathIntoString 中的编译器错误

mysql - 尝试通过在MySQL中添加索引来改善慢查询

mysql - SQL排序通过维护变量顺序