0

我有一个脚本,当用户搜索“Apples”时,会有一个带有相关搜索的列,如“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");

这需要很长时间来处理,而且我有一个非常活跃的网站,每秒都会执行搜索,有人可以推荐我一些提示吗?

谢谢!

4

2 回答 2

3

你需要索引。过去我有过一些经验,仅通过创建索引就可以获得显着的性能提升。

于 2012-06-07T02:09:40.203 回答
0

您必须索引您查看的列以加快速度。我退出使用 Mysql 的本机搜索只是因为它很烂。我搬到了 Lucene,并且像魅力一样工作

于 2012-06-07T01:54:31.773 回答