Mysql 如何设置索引,以便对串联字段的搜索使用索引而不是完整的表扫描

Mysql 如何设置索引,以便对串联字段的搜索使用索引而不是完整的表扫描,mysql,Mysql,我有一个名称表,带有id、名字和姓氏 我需要让用户能够根据名字和姓氏的组合进行搜索,并在两者之间留出一个空格 从名称中选择*,如“%john adam%”,其中CONCAT(名字、姓氏) 这就是我所需要的,它工作得很好,只是解释显示它没有使用任何索引,而且随着表的增长,搜索需要更长的时间 PK是id 我试着在名字和姓氏上建立索引 以及名索引和姓索引 谢谢名字='john'和姓氏='adam'有什么问题吗?谢谢。这将改变用户界面,并要求用户决定名字和姓氏字段中的内容。按照我的说法,搜索“Jane

我有一个名称表,带有id、名字和姓氏

我需要让用户能够根据名字和姓氏的组合进行搜索,并在两者之间留出一个空格

从名称中选择*,如“%john adam%”,其中CONCAT(名字、姓氏)

这就是我所需要的,它工作得很好,只是解释显示它没有使用任何索引,而且随着表的增长,搜索需要更长的时间

PK是id

我试着在名字和姓氏上建立索引

以及名索引和姓索引


谢谢

名字='john'和姓氏='adam'有什么问题吗?谢谢。这将改变用户界面,并要求用户决定名字和姓氏字段中的内容。按照我的说法,搜索“Jane Patrick Murdock”将返回结果,无论“Patrick”是在姓还是名中。另外,基于这个搜索框,我查找其他字段(CONCAT(first_name),last_name)如“%search%”或contact_company如“%search%”;也许你想调查一下?