Det bästa här är att skapa ett FULLTEXT-index som omfattar de två fälten
Steg 1) Skapa en stoppordsfil med bara tre ord
echo "a"> /var/lib/mysql/stopwords.txt
echo "an">> /var/lib/mysql/stopwords.txt
echo "the">> /var/lib/ mysql/stopwords.txt
Steg 2) Lägg till dessa alternativ till /etc/my.cnf
ft_min_word_len=2
ft_stopword_file=/var/lib/mysql/stopwords.txt
Steg 3) Skapa FULLTEXT-index på för- och efternamnskolumnerna
ALTER TABLE-användare ADD FULLTEXT first_last_name_index (first,last);
Steg 4) Implementera MATCH-funktionen i din sökning
Något så här:
VÄLJ * FRÅN användare WHERE (MATCH(första,sista) MOT ('John' I BOOLENSK LÄGE)) OCH (MATCH(första,sista) MOT ('Doe' I BOOLENSK LÄGE));
Klicka här för att lära dig mer om FULLTEXT-indexering