Oracle e paginação
Eu tenho uma tabela oracle com contagem de registros de 99896618.
Preciso buscar um pequeno pedaço de dados (digamos 100 registros) para mostrá-los em uma página da web (no mundo da web, chamamos de paginação). Atualmente, estou usando a consulta a seguir para concluir que, no entanto, os usuários não estão satisfeitos com o desempenho.
SELECT * FROM (select rownum rnum,f.* from findings f where rownum<90000100 )
WHERE rnum > 90000000
Atualmente, está demorando 1 minuto e 22 segundos para obter os resultados. Existe alguma maneira de torná-lo melhor. Certamente, estou aberto a qualquer tipo de sugestão, incluindo a modificação da estrutura da tabela ou como adicionar índices.
(Apenas para sua informação, estou usando o ASP.NET como tecnologia da web no servidor e o ADO.NET como camada de acesso a dados e o silverlight para apresentação no lado do cliente)