Les limites d'abstraction sont des limites d'optimisation : Relever les abstractions pour optimiser les requêtes de base de données
2025-07-01
Le problème de la requête N+1, où une application envoie une requête SQL par élément d'une collection, provient de fuites d'abstraction. Au lieu de réduire la limite d'abstraction (par exemple, en disant explicitement à l'ORM de récupérer en bloc), cet article propose de l'augmenter. En intégrant l'ORM au langage, les règles de réécriture peuvent fusionner N requêtes en une seule. Cela reflète l'utilisation de règles de réécriture en Haskell pour l'optimisation des listes, en tirant parti de sa nature déclarative pour abstraire la sémantique opérationnelle de bas niveau afin d'obtenir une meilleure optimisation. Conclusion principale : relever la limite d'abstraction relève également la limite d'optimisation.