Het hangt ervan af.
Het hangt helemaal af van wat je door het zicht bekijkt. Maar hoogstwaarschijnlijk uw inspanning verminderen en hogere prestaties leveren. Wanneer een SQL-instructie verwijst naar een niet-geïndexeerde weergave, analyseren de parser en de query-optimizer de bron van zowel de SQL-instructie als de weergave en lossen deze vervolgens op in één uitvoeringsplan. Er is niet één plan voor de SQL-instructie en een apart plan voor de weergave.
Een weergave is niet samengesteld . Het is een virtuele tafel die uit andere tabellen bestaat. Wanneer u het maakt, bevindt het zich niet ergens op uw server. De onderliggende query's waaruit de weergave bestaat, zijn onderhevig aan dezelfde prestatieverbeteringen of -dingen van de query-optimizer. Ik heb de prestaties nog nooit getest op een weergave versus de onderliggende query, maar ik kan me voorstellen dat de prestaties enigszins kunnen variëren. U kunt betere prestaties krijgen op een geïndexeerde weergave als de gegevens relatief statisch zijn. Dit is misschien wat je denkt in termen van "gecompileerd".
Voordelen van weergaven:
- Bekijk de gegevens zonder de gegevens in het object op te slaan.
- Beperk de weergave van een tabel, d.w.z. kan sommige kolommen in de tabellen verbergen.
- Voeg twee of meer tabellen samen en toon het als één object aan de gebruiker.
- Beperk de toegang van een tabel zodat niemand de rijen in de tabel kan invoegen.
Bekijk deze handige links:
- Prestaties van VIEW vs. SQL-statement
- Is een weergave sneller dan een eenvoudige vraag?
- Mysql VIEWS vs. PHP-query
- Zijn MySql-weergaven dynamisch en efficiënt?
- Gematerialiseerde weergave versus tabellen:Wat zijn de voordelen?
- Is een query aan het uitvoeren over een weergave langzamer dan het rechtstreeks uitvoeren van SQL?
- Een oplossing voor de prestatieproblemen van TEMPTABLE-weergaven
Bekijk prestatieverbeteringen door geïndexeerde weergaven in SQL Server te gebruiken