如何使用perl dbi和mysql压缩数据

时间:2011-03-30 01:23:30

标签: mysql perl

我正在使用perl dbi连接远程提取数据。我希望尽可能压缩数据。 有没有办法用perl dbi对mysql进行文件压缩?

以下是我获取数据的摘录:

     my $sth = $dbh->prepare("SELECT UUID(), '$node', 1, 2, 3, 4, vts FROM $tblist");
     $sth->execute();
     while (my($uid, $hostnm,$1,$2,$3,$upd,$vts) = $sth->fetchrow_array() ) { 
       print $gzip_fh "rec^A$uid^Ehost^A$hostnm^E1^A$1^E2^A$2^E3^A$3^E4^A$upd^Evts^A$vts^D";
     }
     $sth->finish;

1 个答案:

答案 0 :(得分:2)

最佳选择是使用prepared statements;有了这个,一旦你编译了语句,只需要在每次需要运行查询时通过线路发送参数。

此处的示例显示了如何执行简单的准备工作,如果您要反复使用相同的查询,则应保留$sth,您可以继续使用新的$sth->execute()变量。减少网络遍历的原因是因为每次运行$sth->execute($var)时都不会发送查询,而只是传递准备好的语句的ID和进入{{1的变量占位符。

?