如何将巨大的BLOB插入MySQL数据库(InnoDB)?
根据MySQL手册,LONGBLOB类型的字段支持最大4 GB的数据大小.但是如此巨大的数据如何进入数据库呢?
我试着用
INSERT INTO table (bindata) VALUES ( LOAD_FILE('c:/tmp/hugefile') );
Run Code Online (Sandbox Code Playgroud)
如果hugefile的大小大于500 MB,则会失败.我已经设定max_allowed_packet了合适的尺寸; 价值innodb_buffer_pool_size似乎没有影响力.
我的服务器机器运行Windows Server 2003并具有2 GB RAM.我正在使用MySQL 5.0.74-enterprise-nt.
BLOB 缓存在内存中,这就是为什么当您将BLOB 插入数据库时,您将拥有3 个BLOB 副本。
您的 500 MB BLOB 占用了 RAM 中的 1,500 MB,这似乎达到了您的内存限制。
| 归档时间: |
|
| 查看次数: |
4086 次 |
| 最近记录: |