Tengo una base de datos de oráculos poblada con un millón de registros. registros que estoy tratando de escribir una consulta SQL que devuelve el primer 'n" Ordenada (dicen 100 registros) de la base de datos basada en ciertas condiciones.¿Cómo seleccionar los primeros registros 'N' de una base de datos que contiene millones de registros?
SELECT *
FROM myTable
Where SIZE > 2000
ORDER BY NAME DESC
A continuación, mediante programación seleccionar N primeros registros.
El problema con este enfoque es:
- los resultados de la consulta en medio millón de registros y "Ordenar por nombre" causas todos los registros que se clasifican en NOMBRE en el orden descendente esta clasificación está tomando mucho tiempo (casi.. 30-40 segundos ds. Si omito ORDER BY, solo demora 1 segundo).
- Después del género Estoy interesado en solo primeros N (100) registros. Entonces la clasificación de registros completos no es útil.
Mis preguntas son:
- ¿Es posible especificar la 'N' en propia consulta? (por lo que la ordenación se aplica solo a N registros y la consulta se vuelve más rápida).
- Cualquier forma mejor en SQL para mejorar la consulta para ordenar solo N elementos y devolver en tiempo rápido .
¡Es increíble, funciona! – Oliver