Aveces, no se requiere el resultado completo de una sentencia SQL, sino solamente las primeras filas (por ejemplo, para desplegar solamente los diez últimos mensajes; en este caso, es también común permitir a los usuarios navegar en los mensajes más antiguos) usando la navegación por página tradicional o la variante más moderna “barra de desplazamiento infinita”.
Sin embargo, la sentencia SQL relacionada usada por esta función puede causar problemas graves de rendimiento si deben ordenarse todos los mensajes para encontrar los más recientes.
Por lo tanto, Order by
en pipeline es un método muy poderoso para optimizar este tipo de sentencias.
Usar order by
en pipeline no es solamente importante por el ahorro en ordenar el resultado, sino que permite entregar los primeros resultados sin tener que leer y ordenar todos los registros. Eso significa que order by
en pipeline tiene un costo de inicio muy bajo. Por lo tanto, es posible abortar la ejecución después
de obtener algunos registros sin deshacer los esfuerzos para preparar el resultado final.
Este capítulo demuestra cómo usar order by
en pipeline para recuperar los datos de resultados parciales de manera eficiente. Aunque la sintaxis de estas sentencias varía de una base de datos a otras, la ejecución de las sentencias es muy similar. Una vez más eso demuestra que “todos ponen sus huevos en la misma canasta”.
Si te gusta mi manera de explicar, te encantará mi libro.