Php返回大数据
我正在研究php/mysql web应用程序的优化。 我面临的问题是,函数的结果真的很大!比如4MB 我在HTML php文件中调用一个函数:Php返回大数据,php,performance,optimization,return,large-data,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&g
<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行,在chrome上显示几乎需要20秒
根据我在没有数据表的情况下进行的测量,它只为我节省了1-2秒(我不想删除它,因为快速搜索非常困难)。
我还尝试优化mysql查询和函数内部的逻辑流,但结果相同。
所以我将函数的结果导出为纯文本,发现这只是一个4MB大小的大结果
有没有办法抑制$myhtml变量的大小以加快速度?或者我错过了什么别的方式
你应该考虑一页一页地显示结果。在不影响性能的情况下,在页面中显示大量数据是不可能的。每页显示50行或100行会快得多,并且可以处理所有数量的数据。旁注:请看一看Yeap,这是本项目的下一步mmmm…最好的做法是实现服务器端分页,而不是一次返回所有记录;)我认为您建议使用服务器端处理是否会对数据表即时搜索产生负面影响?是的,这是处理数据表的方式。这将对搜索产生一些影响,但绝对值得,因为影响很小,不必担心。而且初始加载时间将大大缩短,并且对于所有数据量都几乎保持不变(当然,直到服务器过载为止)。