Uw zoekopdracht moet de eerste 90M
aftellen records om de volgende 100
te krijgen , dus er is nauwelijks ruimte voor verbetering.
Ik zie geen ORDER BY
clausule in je subquery, maar waarschijnlijk heb je het. In dit geval wilt u er misschien een index op maken.
En een vraag:klikken uw gebruikers echt door 900K
pagina's voordat u klaagt over de prestaties?
Bijwerken:
Als je de laatste pagina nodig hebt, moet je je ORDER BY
. herschrijven kolom in aflopende volgorde:
SELECT *
FROM (
SELECT rownum rnum, f.*
FROM findings f
ORDER BY
record_ordering_column DESC
)
WHERE rnum > 900
AND rownum <= 100
en maak een index op record_ordering_column
Merk op dat ik rownum
mix mix 's van de geneste zoekopdrachten om de prestaties te verbeteren.
Zie dit artikel in mijn blog voor meer details: