Din forespørgsel skal tælle fra de første 90M poster for at få den næste 100 , så der er næppe plads til forbedringer.
Jeg kan ikke se en ORDER BY klausul i din underforespørgsel, men sandsynligvis har du den. I dette tilfælde vil du måske oprette et indeks på det.
Og et spørgsmål:klikker dine brugere virkelig gennem 900K sider, før du klager over ydeevne?
Opdatering:
Hvis du har brug for den seneste side, skal du omskrive din ORDER BY kolonne i faldende rækkefølge:
SELECT *
FROM (
SELECT rownum rnum, f.*
FROM findings f
ORDER BY
record_ordering_column DESC
)
WHERE rnum > 900
AND rownum <= 100
og opret et indeks på record_ordering_column
Bemærk, at jeg blander rownum 's fra de indlejrede forespørgsler for at forbedre ydeevnen.
Se denne artikel i min blog for flere detaljer: