快速搜索查询

时间:2016-09-09 14:52:27

标签: php mysql sql select

好的,我有一个非常大的桌子,我需要搜索一个包含关键字的网址,我正在尝试使用LIKE,但LIKE就像这样{ {1}}这会检查字符串是否以'foo%'开头,我尝试获取的是foo

'%foo%'

如果你能给我一个想法,那将是完美的。谢谢!

此外,我还有url和id的索引。

1 个答案:

答案 0 :(得分:0)

使用LIKE会降低查询速度;一个想法是尝试LOCATE

$query = mysqli_query($link,"SELECT * FROM table WHERE LOCATE('foo', url) > 0 LIMIT number");

LOCATE只会找到匹配的索引,否则返回0,类似于PHP中的strpos()(如果不匹配,strpos()将返回false)。没有通配符匹配。