Su mejor apuesta aquí es crear un índice de TEXTO COMPLETO que abarque los dos campos
Paso 1) Cree un archivo de palabras vacías con solo tres palabras
echo "a"> /var/lib/mysql/stopwords.txt
echo "un">> /var/lib/mysql/stopwords.txt
echo "el">> /var/lib/ mysql/stopwords.txt
Paso 2) Agregue estas opciones a /etc/my.cnf
ft_min_word_len=2
ft_stopword_file=/var/lib/mysql/stopwords.txt
Paso 3) Cree un índice FULLTEXT en las columnas de nombre y apellido
Usuarios de ALTER TABLE AGREGAR TEXTO COMPLETO first_last_name_index (primero, apellido);
Paso 4) Implementa la función MATCH en tu búsqueda
Algo como esto:
SELECCIONE * DE usuarios DONDE (COINCIDIR (primero, último) CONTRA ('Juan' EN MODO BOOLEANO)) Y (COINCIDIR (primero, último) CONTRA ('Doe' EN MODO BOOLEANO));
Haga clic aquí para obtener más información sobre la indexación de TEXTO COMPLETO