Indici su p.model_view, l.ARL_SEARCH_NUMBER se non intendi eliminare i JOIN.
In realtà, potrebbe essere ottimizzato in base alla quantità di dati effettivi e ai relativi valori (presenza di NULL) utilizzando:
1. Monitorare il piano di esecuzione delle query e, se non va bene, inserire suggerimenti per le query per il compilatore o scambiare JOIN per le sottoquery in modo che il compilatore utilizzi un altro tipo di join al suo interno (unione/cicli annidati/hash/qualunque cosa)
2. Realizzare una stored procedure con una logica più complicata ma più veloce
3. Fare aggiornamenti per piccole porzioni