如果我的名字存储在名为“first_name”的列中并且姓氏存储在名为“last_name”的列中,我如何搜索一个人的全名
请注意,该表有几百万条记录,因此我需要一种有效的方法来进行搜索。我正在使用 MySQL 服务器
first_name 列和 last_name 列都是 VARCHAR(80) 类型。
到目前为止,我已经尝试了以下方法,但速度很慢,因为它忽略了索引,因为 concat 函数
SELECT first_name, phone FROM people
WHERE CONCAT_WS(' ',first_name, last_name) like '%John Smith%'
我还尝试在(first_name,last_name)上添加索引全文索引,然后添加此查询
SELECT *
FROM people
WHERE MATCH(first_name, last_name) AGAINST('John Smith')
但这不是最快的查询。有没有更好的方法来解决这个问题?
谢谢