- 论坛徽章:
- 0
|
我用perl写了个抽取数据的小程序,在oracle,sqlserver数据库上抽数据,从来没遇到过问题。但是在mysql上,只要数据量过大的,就会报错,这次我要抽取的一张表,大约800M,然后就报错了:Mysql client ran out of memory- my $dbh = DBI->connect($dsnname,$user,$pwd) or errlog("connect err: $DBI::errstr");
- $dbh->{LongReadLen} = 8000 * 1024;
- my $sth = $dbh->prepare($sqlstatement) or errlog("prepare err: $dbh->errstr");
- my $rv = $sth->execute() or errlog("execute err: $dbh->errstr");
- while (@data = $sth->fetchrow_array())
复制代码 是不是mysql数据库,fetch的时候,会把查询结果集的所有数据都取到内存里面捏。。怎么这么傻,呵呵,希望各位给点建议,非常感谢  |
|