MySQL搜索名称 - 按空格分隔

Jas*_*ngh 0 php mysql search

我有一个MySQL数据库和一个具有名称列的表,如下所示:

id  name           age
1   samuel lee     31
2   doug sokira    32
3   vernon smith   33
Run Code Online (Sandbox Code Playgroud)

我想在数据库中搜索名称.到目前为止我有这个问题:

SELECT * FROM table WHERE name LIKE 's%'
Run Code Online (Sandbox Code Playgroud)

这将返回ID为1的第一条记录.

但是,我希望查询进一步从空格分隔的文本中进行搜索.所以,换句话说,搜索应该通过名字和姓氏来完成.

我愿意坚持这个数据库设计,其中名字和姓氏存储在一个单独的列中.

因此,上面的查询应返回第1,2和3行.

我应该如何制定我的查询?

Stu*_*Stu 5

SELECT * From table WHERE name LIKE 's%' OR name LIKE '% s%'
Run Code Online (Sandbox Code Playgroud)

请注意,这不能使用任何索引,因此总是狗慢.请重新考虑拆分列.