Abstraktionsgrenzen sind Optimierungsgrenzen: Abstraktionen anheben, um Datenbankabfragen zu optimieren
Das N+1-Abfrageproblem, bei dem eine Anwendung für jedes Element einer Sammlung eine SQL-Abfrage sendet, entsteht durch undichte Abstraktionen. Anstatt die Abstraktionsgrenze zu senken (z. B. dem ORM explizit mitzuteilen, dass in großen Mengen abgerufen werden soll), schlägt dieser Artikel vor, sie anzuheben. Durch die Integration des ORM in die Sprache können Umschreibungsregeln N Abfragen zu einer einzigen zusammenführen. Dies spiegelt die Verwendung von Umschreibungsregeln in Haskell zur Optimierung von Listen wider, wobei die deklarative Natur genutzt wird, um die untergeordneten operationellen Semantiken für eine bessere Optimierung zu abstrahieren. Haupterkenntnis: Das Anheben der Abstraktionsgrenze hebt auch die Optimierungsgrenze an.