MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Nachteile der Verwendung von IQueryable!

Ich weiß nicht, wie die C#-Bindung von MongoDB funktioniert, aber ich beschreibe, wie sie normalerweise funktioniert:

Bei Verwendung von IQueryable Ein Ausdrucksbaum wird erstellt, dann in ein Format übersetzt, das die Datenbank verstehen kann, und dann auf dem Datenbankserver ausgeführt.

Dies hat normalerweise einen geringen Overhead (Ausdrucksbaum erstellen und übersetzen) im Vergleich zum direkten Schreiben von Abfragen in dem Format, das die Datenbank versteht.

Mit IEnumerable Anstelle von Ausdrücken werden Delegaten verwendet. Es muss über den gesamten Datensatz iterieren und dann mithilfe von Linq-To-Objects filtern. Das ist viel langsamer.