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: