Was sind die Vor- und Nachteile der Durchführung einer Datenkorrelation in einer Anwendung (d. h. der Ausführung mehrerer Abfragen und der Korrelation der Ergebnisse) und der direkten Verwendung von Korrelationsabfragen?
In welchen Szenarien erbringen diese beiden Methoden eine bessere Leistung?
Was sind die Vor- und Nachteile der Durchführung einer Datenkorrelation in einer Anwendung (d. h. der Ausführung mehrerer Abfragen und der Korrelation der Ergebnisse) und der direkten Verwendung von Korrelationsabfragen?
In welchen Szenarien erbringen diese beiden Methoden eine bessere Leistung?
Im Allgemeinen wird die direkte Korrelationsabfrage verwendet, da darauf nicht verzichtet werden kann. Wenn Sie verwandte Abfragen reduzieren und die Effizienz verbessern möchten, müssen Sie viel zusätzliche Arbeit leisten, bei der es sich lediglich um verschiedene Caches handelt.
Das einfachste Beispiel: Order.StuatsId wird mit OrderStatus.Id verknüpft
Um den Bestellstatus anzuzeigen
Methode 1: Zugehörige Abfrage
Methode 2: OrderStatus wird zwischengespeichert und ein Helfer mit der Methode getStatusTitleById wird an der Rezeption bereitgestellt, um eine Zuordnung zu vermeiden.
Projekte mit geringem Parallelitätsdruck müssen dem also nicht allzu viel Aufmerksamkeit schenken, da es nahezu keine Auswirkungen hat, während Projekte mit hohem Parallelitätsdruck dies speziell als langfristige Aufgabe behandeln.
Fazit: Im Allgemeinen ist der Leistungsverlust, der durch die Verwendung verknüpfter Abfragen verursacht wird, für Besucher nicht wahrnehmbar, aber zu viele Verknüpfungen müssen vermieden werden (z. B. werden nur Daten aus 2 Tabellen benötigt und die eigentliche SQL-Abfrage ist mit 5 Tabellen verknüpft )
Aus Sicht der Effizienz ist die damit verbundene Abfrageeffizienz definitiv höher.
Aus Sicht der Codelesbarkeit sollte er separat besser lesbar sein. Und es kann wiederverwendet werden.
Die konkrete Auswahl hängt von der Größe Ihres Projekts ab.