Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Método de campos de pesquisa do MYSQL


Então, se supusermos que as colunas name e colors são as únicas colunas que precisamos pesquisar, eu faria o seguinte (solução ingênua, mas funcionará bem se seu banco de dados não tiver milhões de linhas e você não tiver milhares de clientes pesquisando ao mesmo tempo).

Primeiro, crie uma visualização
CREATE VIEW SearchHere AS
SELECT item_id, CONCAT(name, ' ', colors) AS FullDescription
FROM table

Não sei o nome da tabela na captura de tela, então usei table como seu nome.

Agora, se um usuário pesquisar por adult red pants você pode emitir uma consulta
SELECT item_id
FROM SearchHere
WHERE FullDescription LIKE '%adult%'
AND FullDescription LIKE '%red%'
AND FullDescription LIKE '%pants%'

Claro, você precisaria gerar a consulta rapidamente, mas isso não é um problema. Você pode brincar usando AND ou OR e colocando espaços entre o símbolo curinga % e o termo de pesquisa. Provavelmente você também gostaria de fazer a visualização de uma maneira mais sofisticada, por exemplo, fazer mais do que apenas CONCAT .