这是我之前的问题的后续跟踪: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个字节就不多了,但是随着数据库记录数的增加,保存的每个字节都是一件好事。