Создать FULLTEXT
индекс:
CREATE FULLTEXT INDEX fx_music_artist_song ON music (artistname, songname)
и введите следующий запрос:
SELECT *
FROM mytable
WHERE MATCH(artistname, songname) AGAINST ('+queen +bohemian' IN BOOLEAN MODE)
Это будет совпадать для artistname
и songname
, даже если слова не являются ведущими.
Чтобы соответствовать только исполнителю, вы можете создать дополнительный индекс только для artistname
и использовать его в запросе:
SELECT *
FROM mytable
WHERE MATCH(artistname) AGAINST ('+queen' IN BOOLEAN MODE)
Набор столбцов в предложении MATCH
должен быть точно таким же, как в определении индекса для соответствующего индекса, который будет использоваться.
Обратите внимание, что это предложение будет работать даже без индекса, но в этом случае оно будет намного медленнее.