Si escribo una instrucción SQL grande con muchas cláusulas group by y así sucesivamente; ¿Sería mucho más rápido con SQL normal (tal vez un procedimiento almacenado), o Linq solo lo está analizando en una muy buena declaración de SQL y me da mis resultados bastante rápido?Es LINQ generalmente más lento que una instrucción SQL igual
5
A
Respuesta
9
En algunos casos es posible que ser capaz de sintonizar el SQL mejor que LINQ a SQL ... pero LINQ realmente es SQL corriendo. No está obteniendo todos los datos en el proceso y luego haciendo el procesamiento. Puede (y debe) registrar qué SQL se está generando y hacer un perfil de todo lo que parezca sospechoso.
Por supuesto, existe la sobrecarga de convertir la consulta en SQL para empezar (por lo que es posible precompilarlos) y luego está la sobrecarga de convertir los datos en objetos, y hacer un seguimiento de los ID, etc. . En mi experiencia esto es generalmente sin embargo, no es una sobrecarga significativa. Como siempre, perfile su código ...
Cuestiones relacionadas
- 1. ¿Es una instrucción LINQ más rápida que un bucle 'foreach'?
- 2. NHibernate Linq Query es 3 veces más lento que HQL
- 3. ¿Es más lento que elsif?
- 4. ¿Es Linq más rápido, más lento o lo mismo?
- 5. instrucción MySQL que devuelve una instrucción SQL?
- 6. Convertir una instrucción SQL en LINQ-To-SQL
- 7. Usando LINQ no es igual
- 8. ¿File_get_contents es más lento que include?
- 9. ¿El conteo de Linq() es más rápido o más lento que List.Count o Array.Length?
- 10. ¿Por qué es más lento que contiene?
- 11. SQL Server DELETE es más lento con los índices
- 12. igual que con LINQ a Entidades
- 13. ¿IntelliJ IDEA Ultimate es más lento que la edición Community?
- 14. SQL 'LIKE BINARY' más lento que simple 'LIKE'?
- 15. Java es igual para una clase. Es == igual que .equals
- 16. SSE más lento que FPU?
- 17. ¿Por qué Octave es más lento que MATLAB?
- 18. Same SQL Query más lento de la aplicación NHibernate que SQL Studio?
- 19. Quicksort más lento que Mergesort?
- 20. ¿El monodroid es más lento?
- 21. ¿Qué instrucción SQL es más rápida? (Habiendo vs DONDE ...)
- 22. No es igual en SQL
- 23. ¿Cuál es generalmente más rápido, un rendimiento o un apéndice?
- 24. JavaScript es = igual que ==
- 25. Cassandra es mucho más lento que Mysql para operaciones simples?
- 26. ¿Es un DLL más lento que un enlace estático?
- 27. programa OpenMP es más lento que uno secuencial
- 28. ¿Por qué el retorno anticipado es más lento que otro?
- 29. C# + = (más igual) (Asignación por adición) trabajando muy lento, cuando la cadena es demasiado larga?
- 30. MATLAB parfor es más lento que para - ¿qué pasa?
Si algo sobre el rendimiento de DB parece werid, ejecute sql-profiler y mire los tiempos de ejecución de las consultas. si las consultas son muy lentas, debe buscar los métodos para cambiar esa consulta. – AndreasN
Si solo quiere entender qué sql se está produciendo en segundo plano, Linqpad (http://www.linqpad.net/) tiene una característica muy agradable en la que, cuando ejecuta una consulta de linq, no solo le muestra los resultados , pero también los comandos sql que se ejecutaron. – sgmoore