【发布时间】:2016-01-12 10:35:28
【问题描述】:
我有一个页面,我必须在其中显示我数据库中的所有记录,但是当我刷新它时会花费很多时间。 html部分加载速度很快,但光标到达我的mysql查询需要很长时间才能加载.. 这是我的查询
$srchresult = mysql_query("SELECT `date`,`chalno`,`custcode`,`vessel`,`rankcode`,`crew`,`ppno`,`cdcno` FROM `$maindb` WHERE `series`='$zseries' Order By `date`, `chalno` desc")or die(mysql_error());
while ($row = mysql_fetch_array($srchresult)) {
$mdate = strtotime("d-m-Y", $row[date]);
echo "<tr>";
echo "<td align='left'>$mdate</td>";
echo "<td align='left'>$row[chalno]</td>";
echo "<td align='left'>$row[custcode]</td>";
echo "<td align='left'>$row[vessel]</td>";
echo "<td align='left'>$row[rankcode]</td>";
echo "<td align='left'>$row[crew]</td>";
echo "<td align='left'>$row[ppno]</td>";
echo "<td align='left'>$row[cdcno]</td>";
echo "<td align='left'><a href=\"$file?mode=edit&$keyfld=$row[$keyfld]&series=$zseries\"><i class='fa fa-pencil' style='font-size:1.3em;color:#00C0EF;cursor:pointer;'></i></a></td>";
echo "</tr>";
}
}
【问题讨论】:
-
确保您的数据库表上有合理的索引,例如在
series列上 -
@MarkBaker 我确实对系列和 chalno 都有索引
-
然后对查询进行 EXPLAIN 以查看 MySQL 是如何执行它的,以及它是否正在使用这些索引