Php返回大数据

时间:2016-12-21 17:08:07

标签: php performance optimization return large-data

我正在研究php / mysql Web应用程序的优化。 我面临的问题是功能的结果真的很大!像4MB。

我在HTML-php文件中调用一个函数:

<table id="example1" class="table table-bordered table-striped table-hover" width="100%">
         <thead>
         <tr><th>
    .
    .
    .</thead>
<?php
$results = $diosAdminMain->getResults();
echo $results;
?>
</table>

并且应该从我的数据库中获取结果,然后在Datatables的帮助下展示它们。

我的类文件中的

是我的函数

     <?php

        $diosAdminMain = new diosCore;

        class diosCore{ 

        public function getResults(){


                $myhtml='<tbody>';
                .
                .
                .
               $resultqry=mysql_query('SELECT * from table');

              while($row = mysql_fetch_assoc($resultqry)){ 
                 $myhtml.= '<tr>
                  <td>'.$row['ID'].'</td>
                  <td>'.$row['PR1'].'</td>
                  <td>'.$row['PR2'].'</td>
                  <td>'.$row['THL1'].'</td>
                  <td>'.$row['THL2'].'</td>
                  <td>'.$row['NAME1'].'</td>
                 <td>'.$row['NAME2'].'</td>';
               }

             $myhtml.='</tbody>';

             return $myhtml;
          }
     }
    .
    .    
    ?>

我试图找到一种方法来使这个演示文稿更快,因为结果会增长更多。现在有1800行,需要大约20秒才能在chrome上显示。

通过我没有数据表的测量,它只节省了我1-2秒(我不想删除它,因为快速搜索很棒)。 我也尝试优化mysql查询和函数内部的逻辑流程但结果相同。 所以我将该函数的结果导出为纯文本,并发现这只是一个4MB大小的结果。

有没有办法以某种方式抑制$ myhtml变量的大小以使事情变得更快?或者我错过的任何其他方式?

感谢

1 个答案:

答案 0 :(得分:1)

您应该考虑逐页显示结果。在没有性能影响的情况下,无法在页面中显示大量数据。每页显示50行或100行将更快,并且可以处理所有数据量。