Perché indicizzi le tue visualizzazioni? Hai menzionato "spreco di spazio" nella tua soluzione 2, ma sapevi che quando indicizzi la tua vista, la persisti sul DB?
In altre parole, fai una copia dei dati che la vista restituirebbe sul DB e ogni volta che i dati vengono aggiornati sulle tabelle di origine, alcuni meccanismi interni di SQL Server devono aggiornarli su questa nuova struttura dati creata perché ora SQL Server legge dalla vista, non più dalle tabelle.
Se utilizzi Profiler + DTA o anche DMVS puoi trovare gli indici corretti da creare sulle tue tabelle che potrebbero trarre vantaggio da qualsiasi vista