我有一个脚本,当用户搜索“苹果”时,有一个相关搜索的颜色,如“Shiny Apples”和“Rotten Apples”等。
问题是我的搜索数据库有5,600,000行,mysql非常滞后。
这是我的代码:
$get = mysql_query("SELECT keyword FROM searches WHERE MATCH (keyword) AGAINST ('".mysql_real_escape_string(preg_replace('#([\S]+)#', '$1', $title))."' IN BOOLEAN MODE) LIMIT 0,15");
这需要很长时间才能处理,我有一个非常活跃的网站,每秒都会进行搜索,有人可以向我推荐一些提示吗?
谢谢!
答案 0 :(得分:3)
您需要索引。我曾经有过一些经验,仅通过创建索引我们就获得了显着的性能提升。
答案 1 :(得分:0)
您必须为查看的列编制索引以加快速度。我放弃使用Mysql的本机搜索只是因为它很糟糕。我搬到了Lucene,像魅力一样工作