这是我之前问题的跟进: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/