Без да виждам структурите на таблиците и плана за изпълнение, мога да предложа две неща:
1) Добавете правилните индекси, ако все още не съществуват.
2) Създайте временна таблица с този WITH
клауза и след това използвайте същия select в таблицата.