TCPDF性能问题

时间:2013-07-02 07:45:01

标签: performance tcpdf

我正在使用TCPDF库来创建报告。当我从数据库中获取少量数据时,它给了我快速的结果。但是当数据库返回数百行时,需要几分钟。我也在搜索论坛。很多人提到禁用字体。

    protected $font_subsetting = false;

但仍未能获得良好的表现。我的报告代码是:

$html.='<tr  >
        <td align="left" style="border-bottom: solid 1px #999;"><strong>'.$i.'</strong></td>
<td align="left" style="border-bottom: solid 1px #999;">'.$belt_no.'</td>
<td align="left" style="border-bottom: solid 1px #999;">'.$hname.'</td>
        <td align="left" style="border-bottom: solid 1px #999;">'.$hdob.'</td>
        <td align="left" style="border-bottom: solid 1px #999;">'.$hhiredate.'</td>
        <td align="left" style="border-bottom: solid 1px #999;">'.$hhomeps.'</td>
                    <td align="left" style="border-bottom: solid 1px #999;">'.$hrank.'</td>
        <td align="left" style="border-bottom: solid 1px #999;">'.$st_date.'</td>
        <td align="left" style="border-bottom: solid 1px #999;">'.$police_station.'</td>   </tr>'; $i++; }    $html.='</table>';$pdf->writeHTML($html, true, false, true, false, '');

1 个答案:

答案 0 :(得分:0)

如果你有数百行,那么很可能需要时间,我不知道你在循环中做了什么,但我在你的代码中看到你使用的变量如$ belt_no,你可以优化你的代码尽可能避免变量。如果你从桌子上取货 而不是做:

while($ligne = mysql_fect_array($res)){
$belt_no = $ligne['belt_no'];
$hdob= $ligne['hdob'];
$html = '<td align="left" style="border-bottom: solid 1px #999;">'.$belt_no.'</td>
<td align="left" style="border-bottom: solid 1px #999;">'.$hname.'</td>
';
}

你可以跳过变量并节省一些内存空间:

while($ligne = mysql_fect_array($res)){

$html = '<td align="left" style="border-bottom: solid 1px #999;">'.$ligne['belt_no'].'</td>
<td align="left" style="border-bottom: solid 1px #999;">'.$ligne['hdob'].'</td>
';
}