Entity Framework Core – Performanzoptimierung
Mit dem Entity Framework hat Microsoft vor Jahren einen Objekt-Relationalen-Mapper geschaffen, welcher sich in der .NET-Welt mittlerweile einer großen Beliebtheit erfreut. Der O/R-Mapper ermöglicht es, ohne SQL-Kenntnisse auf eine Datenbank sowohl lesend als auch schreibend zuzugreifen. Doch hier verbergen sich Risiken, denn ein O/R-Mapper erweckt den Eindruck, dass der Anwendungsentwickler sich nie wieder mit SQL zu befassen braucht - was für 80% der Abfragen in einer Anwendung auch stimmen mag. Die restlichen 20% können allerdings die gesamte Applikation durch sehr schlechte Antwortzeiten beinah unbenutzbar machen. Die unperformanten SQL-Abfragen sind jedoch nicht die einzige Quelle welche die Benutzbarkeit in Mitleidenschaft ziehen. Es spielt auch eine Rolle wie genau Entity Framework im Code verwendet wird. Nicht selten wird die Tatsache vergessen, dass die LINQ-Abfragen am Ende nicht im Arbeitsspeicher, sondern durch die Datenbank ausgeführt werden – mehr oder weniger „transparent“. In ersten Teil des Vortrags wird gezeigt auf was geachtet werden sollte, um die häufigsten Stolperfallen bei der Verwendung von Entity Framework Core zu vermeiden. Im zweiten Teil geht es darum, die generierten SQL-Abfragen zu verstehen, denn nur so kann das Problem erkannt und gelöst werden. Das wichtigste Mittel hierfür werden die Ausführungspläne sein.
Event
Slidedeck
Hallo, .NET Developer!
Du begeisterst Dich für .NET-basierte Cloud-Native-Lösungen?
Du möchtest, dass Deine Expertise zum Einsatz kommt und von einer Expertenschaft gechallenged wird? Du weißt, dass nur durch Research auch während der Arbeitszeit neue Technologien erlernbar sind und erst damit Innovation möglich wird?
Weitere Artikel zu .NET Core, Entity Framework
Data Access in .NET Native AOT with Sessions
Native AOT with ASP.NET Core – Overview
Incremental Roslyn Source Generators: High-Level API – ForAttributeWithMetadataName – Part 8
.NET 7 Performance: Regular Expressions – Part 2
In this second article of our short performance series, we want to look at the latter one of those problems.