quante volte dovrai fare questo lavoro? No perchè un conto farlo una volta sola, un conto farlo ripetutamente

nel secondo caso sposterei l'attenzione nel programmare direttamente il database per farti restituire i dati filtrati per keywords, usando indici, views, tabelle temporanee etc

nel primo caso potresti accontentarti di fare un brute force e ciclare sui milioni di record di risultati ottenuti.

di sicuro hai da aumentare parecchio i temi di timeout per lo script php