什么比长斑点大?

jch*_*360 3 mysql datatypes

longblob是Mysql最大的数据类型。如果我想保存大于 4gb(longblob)的东西,我该怎么做?。

我说的是 Mysql v-5.+

Rol*_*DBA 6

鉴于最大的 max_allowed_pa​​cket 只有 1GB,因此使用 LONGBLOB 可能非常危险。

早在 2006 年 8 月,有人问过类似的问题。其中彼得·扎伊采夫说:

http://dev.mysql.com/doc/refman/5.0/en/storage-requirements.html

正如您在理论上看到的那样,它大约为 4GB。

然而,它也受到 max_packet_size 的限制,默认情况下为 16M。

我会非常小心地使用大于 100MB 的 blob。MySQL 将需要在服务器上分配此大小的大约 3 倍的内存用于 blob 处理。

我不是 PostgreSQL DBA,但我不得不冒险提出以下建议:

  • 如果您必须存储那么大的对象,则应该使用 PostgreSQL,因为它具有称为外部属性存储技术 (TOAST) 的存储基础架构。这允许行对于 SQL 处理来说不会太大。
  • 如果您必须使用 MySQL,那么存储 URL 文件链接比存储 BLOB 本身要好得多。