Php 如何控制从数据库中的表检索数据

Php 如何控制从数据库中的表检索数据,php,mysql,Php,Mysql,我在一个数据库中有多个表。当我的页面加载时,它从数据库中的所有表中检索数据。因此,由于在不同的表中加载时间不同,我的页面速度变慢。我的问题是,如何显示包含已从表加载的数据且rest处于流模式的页面??我不知道使用php和MySQL是否可行?有什么想法吗 谢谢 马修从不同的表中获取数据没有什么不好的。每个网站都这样做。 如果您的一些查询速度变慢,您只需找出哪一个,然后对其进行优化 您可以通过以下简单代码找到慢速查询: 只需在每个查询执行之前和之后放置这些$TIMER语句 <? $TIMER[

我在一个数据库中有多个表。当我的页面加载时,它从数据库中的所有表中检索数据。因此,由于在不同的表中加载时间不同,我的页面速度变慢。我的问题是,如何显示包含已从表加载的数据且rest处于流模式的页面??我不知道使用php和MySQL是否可行?有什么想法吗

谢谢


马修

从不同的表中获取数据没有什么不好的。每个网站都这样做。 如果您的一些查询速度变慢,您只需找出哪一个,然后对其进行优化

您可以通过以下简单代码找到慢速查询: 只需在每个查询执行之前和之后放置这些$TIMER语句

<?
$TIMER['start']=microtime(TRUE);
// some code
$query="SELECT ...";
$TIMER['before q1']=microtime(TRUE);
  $res=mysql_query($query);
$TIMER['after q1']=microtime(TRUE); 
  while ($row = mysql_fetch_array($res)) {
// some code
  }
$TIMER['before q2']=microtime(TRUE);
  $res=mysql_query($query);
$TIMER['after q2']=microtime(TRUE); 
  while ($row = mysql_fetch_array($res)) {
// some code
  }
$TIMER['array filled']=microtime(TRUE); 
// some code
$TIMER['pagination']=microtime(TRUE); 

if ('127.0.0.1' === $_SERVER['REMOTE_ADDR']) { //put your IP addr here
  echo "<table border=1><tr><td>name</td><td>so far</td><td>delta</td><td>per cent</td></tr>";
  reset($TIMER);
  $start=$prev=current($TIMER);
  $total=end($TIMER)-$start;
  foreach($TIMER as $name => $value) {
    $sofar=round($value-$start,3);
    $delta=round($value-$prev,3);
    $percent=round($delta/$total*100);
    echo "<tr><td>$name</td><td>$sofar</td><td>$delta</td><td>$percent</td></tr>";
    $prev=$value;
  }
    echo "</table><>";
}
?>

谢谢你的回复。我将检查哪一个正在变慢…但我的另一个问题是每个表都有其更新日期。因此,对于一个查询,一些表获得了即时数据,而其他表则从web更新。所以这些差异将会存在。这就是为什么要求延迟加载处于更新过程中的表的数据。@mathew如果某些插入操作减慢了数据库的速度,您还必须优化这些更新查询。虽然从web更新数据库听起来很奇怪,但对我来说,通过优化表从大型数据库中获得结果似乎非常困难。你有任何链接或任何教程,我可以做一些学习曲线??或任何帮助appreciated@mathew您可以将慢速查询带到此处,然后请求帮助