Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何从10k记录的mysql数据库中快速检索数据_Php_Mysql - Fatal编程技术网

Php 如何从10k记录的mysql数据库中快速检索数据

Php 如何从10k记录的mysql数据库中快速检索数据,php,mysql,Php,Mysql,我有一个页面,其中我必须显示数据库中的所有记录,但刷新时需要花费很多时间。 html部分加载速度很快,但当光标到达我的mysql查询时,加载会花费很多时间。。 这是我的问题 $srchresult = mysql_query("SELECT `date`,`chalno`,`custcode`,`vessel`,`rankcode`,`crew`,`ppno`,`cdcno` FROM `$maindb` WHERE `series`='$zseries' Order By `date`, `c

我有一个页面,其中我必须显示数据库中的所有记录,但刷新时需要花费很多时间。 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>";
                                }
                            }
$srchresult=mysql\u查询(`date`、`chalno`、`custcode`、`vessel`、`rankcode`、`crew`、`ppno`、`cdcno`FROM`$maindb`WHERE`series`=`zseries`按`date`排序,`chalno`desc')或die(mysql\u error());
while($row=mysql\u fetch\u数组($srchresult)){
$mdate=strottime(“d-m-Y”,$row[date]);
回声“;
回显“$mdate”;
回声“$row[chalno]”;
回显“$row[custcode]”;
回声“$行[船]”;
回显“$row[rankcode]”;
回声“$行[机组]”;
回显“$row[ppno]”;
回显“$row[cdcno]”;
回声“;
回声“;
}
}

我强烈建议使用分页,以便能够呈现/浏览页面上的10k记录

如果必须在布局中没有可见分页块的情况下执行此操作,请使用无限滚动解决方案。这里有一个相当简单的例子:


您的mysql查询很好,即使您至少应该使用PHP的mysqli扩展()来检索数据。

确保您的数据库表上有合理的索引,例如,在
系列上column@MarkBaker我在series和chalno上都有索引,然后对查询进行解释,看看MySQL是如何执行它的,以及它是使用这些索引还是实际使用dataTables以模式显示数据,所以我不认为无限滚动是完美的解决方案。如果我写msqli_查询,它会给我一个错误。mysqli_query()正好需要2个参数,1