Índices en p.model_view, l.ARL_SEARCH_NUMBER si no se va a deshacer de los JOIN.
En realidad, podría optimizarse según las cantidades de datos reales y sus valores (presencia de NULL) mediante el uso de:
1. Supervisar el plan de ejecución de consultas y, si no es bueno, colocar sugerencias de consulta para el compilador o intercambiar JOIN para subconsultas para que el compilador use otro tipo de combinación dentro de él (fusión/bucles anidados/hash/lo que sea)
2. Hacer un procedimiento almacenado con una lógica más complicada pero más rápida
3. Haciendo actualizaciones por pequeñas porciones