Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.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 mysql全文第一个/最后一个昵称搜索速度较慢_Php_Mysql_Performance_Full Text Search - Fatal编程技术网

Php mysql全文第一个/最后一个昵称搜索速度较慢

Php mysql全文第一个/最后一个昵称搜索速度较慢,php,mysql,performance,full-text-search,Php,Mysql,Performance,Full Text Search,我正在对一个30-40个工厂的记录数据库进行全文搜索。其中80%在一张桌子上。我正在以全文形式搜索名字和姓氏,因为全名可以以多种方式存储:“比尔·盖茨”、“盖茨、比尔”、“比尔和梅琳达·盖茨”等。。我们还有一个昵称数据库,因此它将搜索“比尔”、“威尔”、“威廉”等。。查找昵称根本不需要时间,但一旦我实现了包含昵称的查询,现在需要花费更长的时间 SELECT * FROM db1 WHERE MATCH (Name) AGAINST (' +bill +gates 'IN BOOLEAN MOD

我正在对一个30-40个工厂的记录数据库进行全文搜索。其中80%在一张桌子上。我正在以全文形式搜索名字和姓氏,因为全名可以以多种方式存储:“比尔·盖茨”、“盖茨、比尔”、“比尔和梅琳达·盖茨”等。。我们还有一个昵称数据库,因此它将搜索“比尔”、“威尔”、“威廉”等。。查找昵称根本不需要时间,但一旦我实现了包含昵称的查询,现在需要花费更长的时间

SELECT * FROM db1 
WHERE MATCH (Name) AGAINST (' +bill +gates 'IN BOOLEAN MODE) UNION ALL 
... (then the other 8 dbs the same) limit 500
与之相比:

SELECT * FROM db1 
WHERE MATCH (Name) AGAINST (' +("bill" "will" "william") +gates 'IN BOOLEAN MODE) UNION ALL 
... (then the other 8 dbs the same) limit 500

有没有办法加快速度?搜索需要40多秒,而不是3-5秒。像比尔·盖茨这样的名字很容易达到500大关,似乎需要更长的时间,尽管有更多的机会达到500大关

使用搜索引擎而不是MySql,这将节省您的时间。 看看索尔或斯芬克斯

Sphinx有mysql插件