Hvorfor indekserer du dine synspunkter? Du nævnte "spild af plads" i din løsning 2, men vidste du, at når du indekserer dit synspunkt, fortsætter du det på DB'en?
Med andre ord, du laver en kopi af de data, som visningen ville returnere på DB, og hver gang dataene opdateres på kildetabellerne, skal en eller anden intern mekanisme i SQL Server opdatere den på denne nye datastruktur, der er oprettet, fordi nu SQL-server læser fra visningen, ikke tabellerne længere.
Hvis du bruger Profiler + DTA eller endda DMVS du kan komme med de korrekte indekser, der skal oprettes på dine tabeller, som enhver visning ville have gavn af