En vy är en lagrad fråga; i sig innehåller den ingen data. Om dess kod är komplex och hämtar data från flera tabeller, med hjälp av olika villkor, aggregationer eller annat, kan det ta lite tid att komma åt data.
I din situation kanske en global (eller privat; beroende på Oracle-version du använder) tillfällig tabell (GTT) skulle hjälpa.
- du skapar det en gång
- i början av proceduren infogar du data från vyn i den
- resten av proceduren skulle fungera med de förberedda data
- när sessionen (eller transaktionen; beroende på hur du ställer in GTT) är över går data från tabellen förlorad
- tabellen kan återanvändas nästa gång du kör proceduren