好的,我有一个非常大的桌子,我需要搜索一个包含关键字的网址,我正在尝试使用LIKE
,但LIKE
就像这样{ {1}}这会检查字符串是否以'foo%'
开头,我尝试获取的是foo
。
'%foo%'
如果你能给我一个想法,那将是完美的。谢谢!
此外,我还有url和id的索引。
答案 0 :(得分:0)
使用LIKE会降低查询速度;一个想法是尝试LOCATE
:
$query = mysqli_query($link,"SELECT * FROM table WHERE LOCATE('foo', url) > 0 LIMIT number");
LOCATE
只会找到匹配的索引,否则返回0,类似于PHP中的strpos()
(如果不匹配,strpos()将返回false)。没有通配符匹配。