Index sur p.model_view, l.ARL_SEARCH_NUMBER si vous ne vous débarrassez pas des JOIN.
En fait, il peut être optimisé en fonction des quantités de données réelles et de leurs valeurs (présence de NULL) en utilisant :
1. Surveiller le plan d'exécution des requêtes et, s'il n'est pas bon, mettre des conseils de requête pour le compilateur ou échanger des JOIN pour les sous-requêtes afin que le compilateur utilise un autre type de jointure à l'intérieur (fusion/boucles imbriquées/hachages/peu importe)
2. Créer une procédure stockée avec une logique plus compliquée mais plus rapide
3. Faire des mises à jour par petites portions