php 模糊查询 速度 太慢

来源:百度知道 编辑:UC知道 时间:2024/05/15 19:43:36
$Sql="SELECT id,title FROM `document` Where title like '%".$KeyWords."%' LIMIT 30 , 10";
$result = mysql_query($Sql)or die(mysql_error());
echo "<UL>";
while($row=mysql_fetch_array($result)) {
echo ('<li>'.$row[1].'</li>');
}
echo "</UL>";
if(mysql_close($conn)){}
}
这个的查询速度 很慢 60W条记录 最快的要查询一分钟,请教 高手 有没有办法提高PHP的模糊查询速度 非常感谢

如果你试了以上几位的方法都没有效果,那建议用中文分词,做做真正的搜索引擎试试。

用索引吧,你的只有一个值,title
CREATE INDEX index_search ON document(title)
这个可以提高几倍的速度。
另外还有2个加速方法。
一是表分段查询,例如你可以分成10W数据一个的查询,如果在第一个分段内获得了所需数目的结果,下面50W的全表搜索就可以省略了。
二是搜索结果的ID缓存到另一个表中,这样第一次查询后,再要查询第二次,第三次,只需要到缓存表里取值了。

为title创建索引试试

如果你的Engine是MyISAM,你可以研究研究全文检索