【发布时间】:2010-10-31 00:51:50
【问题描述】:
如何将巨大的 BLOB 插入 MySQL 数据库 (InnoDB)?
根据 MySQL 手册,LONGBLOB 类型的字段支持最大 4 GB 的数据大小。但是如此庞大的数据是如何进入数据库的呢?
我尝试使用
INSERT INTO table (bindata) VALUES ( LOAD_FILE('c:/tmp/hugefile') );
如果大文件的大小大于大约 500 MB,则会失败。我已将max_allowed_packet 设置为合适的大小; innodb_buffer_pool_size 的值似乎没有影响。
我的服务器机器运行 Windows Server 2003 并具有 2 GB RAM。我正在使用 MySQL 5.0.74-enterprise-nt。
【问题讨论】:
-
你可以并不意味着你应该。
-
@kekoav 我知道在某些环境中,将文件存储在文件系统中比在数据库中更好,但是独立于这个讨论,我必须知道如何存储这样的数据才能能够尝试并就两种解决方案的优缺点(存储在文件系统中和存储在数据库中)形成意见。提前感谢您的理解!