Wenn ich eine große SQL-Anweisung mit vielen group by-Klauseln und so weiter schreibe; wäre es mit normalem SQL viel schneller (vielleicht eine gespeicherte Prozedur), oder analysiert Linq es nur zu einer sehr netten SQL-Anweisung und gibt mir meine Ergebnisse ziemlich schnell?Ist LINQ im Allgemeinen langsamer als eine SQL-Äquivalenzanweisung
5
A
Antwort
9
In einigen Fällen Sie die SQL besser als LINQ to SQL ... aber LINQ Lage sein kann, stimmen wirklich ist mit SQL. Es holt nicht alle Daten in den Prozess und dann die Verarbeitung. Sie können (und sollten) protokollieren, was SQL generiert, und alles profilieren, was verdächtig erscheint.
Natürlich gibt es den Overhead der Umwandlung der Abfrage in SQL zu beginnen (weshalb Sie sie vorkompilieren können) und dann gibt es den Overhead der Konvertierung der Daten in Objekte - und die IDs usw. zu verfolgen Nach meiner Erfahrung ist dies in der Regel kein signifikanter Overhead. Wie immer profiliere deinen Code ...
Verwandte Themen
- 1. Ist LINQ langsamer als gespeicherte Prozeduren aufrufen?
- 2. CRM SDK - Ist Linq langsamer als QueryExpression?
- 3. SubSonic LINQ-Abfrage ist 3 mal langsamer als SubSonic.Query.Select
- 4. Warum ist die Vektorisierung im Allgemeinen schneller als Schleifen?
- 5. OpenCV Linienerkennung im Allgemeinen
- 6. Pattern.split langsamer als String.split
- 7. Wie ist std :: langsamer als std :: map?
- 8. OpenMP Programm ist langsamer als sequenzielle ein
- 9. Warum ist die Matrixmultiplikation langsamer als meine?
- 10. Warum msgpack ist langsamer als json.parse?
- 11. Nginx langsamer statischer Dateiserver (langsamer als Knoten?)
- 12. Warum ist Interlocked langsamer als Sperre?
- 13. Warum <ist langsamer als> =
- 14. CL_MEM_ALLOC_HOST_PTR langsamer als CL_MEM_USE_HOST_PTR
- 15. Ist DocumentDB langsamer als SQL, wenn viele Datensätze abgerufen werden?
- 16. Ist jede abstrakte Funktion in C# im Allgemeinen virtuell?
- 17. Installiertes Juwel viel langsamer als die Quelle
- 18. Wie nützlich ist PHP CodeSniffer? Code Standards Durchsetzung im Allgemeinen?
- 19. Warum ist Linq To Sql die Datenbindung an Gridview wesentlich langsamer als an Pass-Through-SQL?
- 20. Ist der Linq Count() schneller oder langsamer als List.Count oder Array.Length?
- 21. Warum ist dieser Linq-Ausdruck so viel langsamer als der andere?
- 22. HtmlUnit langsamer als GUI-Browser?
- 23. Warum halbiert langsamer als Sortierung
- 24. MATLAB Parfor ist langsamer als für - was ist los?
- 25. Haskell: Paralleler Code ist langsamer als sequentielle Version
- 26. Rcpp Funktion langsamer als Rf_eval
- 27. Array.Count() viel langsamer als List.Count()
- 28. Magento Zahlungsprozess .. wie es im Allgemeinen funktioniert
- 29. xcodebuild viel langsamer als Xcode?
- 30. Was ist der Unterschied zwischen "Git" im Allgemeinen und Github?
Wenn etwas über die DB-Preformance aussieht, starte den sql-Profiler und schaue die Ausführungszeiten der Abfragen an. Wenn Abfragen sehr langsam sind, sollten Sie Methoden zum chaning dieser Abfrage untersuchen. – AndreasN
Wenn Sie nur wissen möchten, was SQL im Hintergrund produziert, hat Linqpad (http://www.linqpad.net/) eine sehr nette Funktion, bei der Sie beim Ausführen einer linq-Abfrage nicht nur die Ergebnisse anzeigen , aber auch die SQL-Befehle, die ausgeführt wurden. – sgmoore