Ho un elenco di parole. Diciamo che sono "Apple", "Orange" e "Pera". Ho le righe nel database come questo:MySQL: colonna contiene Word dall'elenco di parole
------------------------------------------------
|author_id | content |
------------------------------------------------
| 54 | I ate an apple for breakfast. |
| 63 | Going to the store. |
| 12 | Should I wear the orange shirt? |
------------------------------------------------
Sto cercando una query su una tabella InnoDB che restituirà il 1 ° e 3 ° fila, perché la colonna content
contiene una o più parole dalla mia lista. So che potrei interrogare la tabella una volta per ogni parola nella mia lista, e usare LIKE e il carattere jolly%, ma mi chiedo se esiste un singolo metodo di query per una cosa del genere?
uh, era apparentemente in ritardo e il vostro è più completa, quindi credo che si otterrà un +1. – cbrandolino
Questo è quello che sto facendo ora, e speravo di evitarlo. Mentre evita il sovraccarico della rete di query separate, suppongo che MySQL stia eseguendo internamente l'esecuzione di ogni parola su ogni riga della tabella, che è essenzialmente diverse query. Speravo che MySQL avesse una funzione ottimizzata per questo tipo di query. – mellowsoon
Anche questo mi ha aiutato, saluta Naveed, mago! –