此脚本会搜索多个关键字。
SELECT ID,SURNAME FROM people where name='john'
and SURNAME REGEXP 'search1|search2|search3'
ORDER BY id DESC
但是,我听说regexp性能较低,从不使用索引。是否有更好/更快的方法来做同样的事情?
答案 0 :(得分:1)
它在很大程度上取决于数据集和姓氏列的大小。它还取决于你最终在搜索中包含的姓氏数量。
我建议使用一些不同的搜索字词对其进行测试,看看这是否更快:
SELECT ID,SURNAME FROM people where name='john'
and (SURNAME LIKE '%search1%' OR SURNAME LIKE '%search2%' OR SURNAME LIKE '%search3%')
ORDER BY id DESC
请注意,如果您的搜索最后只需要一个通配符,则可以使用'search1%'代替'%search1%',这应该更快