【发布时间】:2022-01-07 15:52:01
【问题描述】:
我从许多网站上了解到BLOB 用于保存图像的类型,例如here。因此,考虑到常规BLOB 的最大大小为 65KB,更大的为 16MB,那么保存最大图像的最佳方法是什么。 100KB?我应该选择MEDIUMBLOB 并将其限制为最大 100KB 吗?如果是,这是否会影响数据库在未使用MEDIUMBLOB 大小的保留空间方面的实际大小?我的意思是,如果MEDIUMBLOB保留了16MB的数据库空间,那么当只上传100KB的图片时,保留的空间会不会被使用?还是我理解错了?
【问题讨论】:
-
要使用的大小取决于您的应用程序的要求。如果您知道该值将始终适合
mediumblob,则可以使用它。但是,听起来更大的blob可能更安全。 -
图片的最大大小总是100KB,但正常
blob最大65KB,不适合,所以应该选择mediumblob。我重要的是这个选择是否会影响最后的数据库大小,因为它保留了 16MB,如果这个(16MB - 100KB)大小为空并保留,或者它将采用图像的实际大小而不保留额外的,我无法在互联网上找到永远不会使用的空间:) -
MySQL mediumblob 为您的 blob 保留多达 16 MB 的存储空间。 MySQL 仅使用存储 blob 所需的内容,以及一些寻址开销和磁盘扇区边界舍入。出于您的目的,MySQL 会在不保留额外空间的情况下获取 blob 的实际大小。