我有两个超过 150000 行数字的表,我有这个代码:
$q=$_GET["q"];
$negative = strlen($q);
$reverse = strrev($q);
while ($a = mysql_fetch_array($sql)) {
if (strlen($q) > 0)
{
$hint="";
for($i=0; $i<count($a); $i++)
{
if ($reverse==substr($a[$i],-$negative,strlen($q)))
{
if ($hint=="")
{
$hint=$a[$i];
}
}
}
}
echo $hint . "\t";
}
此查询需要 27 秒才能返回结果,我想随机播放所有结果,但是当我添加这样的 shuffle() 函数时:
while ($a = mysql_fetch_array($sql)) {
shuffle($a);
性能变化惊人,现在只需要两秒钟就可以返回结果,我试了很多次都是一样的。它变得更快吗?