Chapitre 7. Résultats partiels


Quelquefois, vous n’avez pas besoin de toutes les lignes d’une requête SQL. Seules les premières lignes vous intéressent, par exemple les dix premières. Dans ce cas, il est fréquent de permettre aux utilisateurs de naviguer parmi les anciens messages, soit en utilisant de la pagination traditionnelle, soit en utilisant une variante plus moderne de parcours infini. Néanmoins, les requêtes SQL utilisées pour cette fonction peuvent causer de sérieux problèmes de performances si tous les messages doivent être triés pour trouver les plus récents. Du coup, un order by en pipeline est une optimisation très puissante pour ce type de requêtes.

Utiliser un order by en pipeline permet de ne pas avoir à faire le tri du résultat, mais cela permet surtout de renvoyer les premiers résultats sans avoir à lire et à trier toutes les lignes. Autrement dit, un order by en pipeline a un coût de démarrage très bas. Du coup, il est possible d’annuler l’exécution après avoir récupéré quelques lignes tout en permettant de récupérer tout si besoin était.

« Que vous débutiez en SQL ou que vous soyez un utilisateur aguerri, ce livre vous aidera sûrement dans vos tâches SQL quotidiennes »
C. Cote sur Amazon.fr (5 stars)

Ce chapitre démontre comment utiliser un order by en pipeline dans le but de récupérer efficacement des résultats partiels. Bien que la syntaxe de ces requêtes varie suivant les bases de données, ces dernières exécutent les requêtes d’une façon très similaire. Cela démontre une fois de plus qu’elle ne font pas de miracles.

Trouvé une erreur?