如何使用php在数据库中的列以上搜索速度更快

时间:2015-09-06 13:06:37

标签: php mysql

如果用户在搜索框中键入关键字我希望引擎搜索超过4列,这需要很长时间,如果可以建议另一种解决方案来加快此搜索,因为它搜索超过80,000行

$kay=$_GET['kay'];

<?php
$search_query = "select * from product where 
                             sku LIKE '%$kay%'
                            or mfr LIKE '%$kay%'
                             or manufacturer LIKE '%$kay%'
                               or LongDesc LIKE '%$kay%')";
?>

1 个答案:

答案 0 :(得分:0)

您指定的搜索类型 - OR col LIKE '%value%'子句序列 - 是任何人可以想象搜索MySQL表的最慢方式。为什么? LIKE xx开头的混杂通配符搜索%只能通过完整扫描来满足。

切换到FULLTEXT搜索。您可以在MySql文档网站上阅读相关内容。

最近有一篇关于PostgreSQL扩展的文章,该文章利用并行运行的数百个GPU内核进行搜索;这可能也有帮助。