|
Почему в Linq C# запрос выполняется медленнее, чем в LinqPAD? Как оптимизировать?
|
|||
---|---|---|---|
#18+
Я пишу приложение на asp.net с использованием Entity Framework. Все Linq-запросы пишу сначала в LinqPad, затем уже запрос вставляю в приложение. Код: c# 1. 2. 3. 4. 5. 6.
Запрос к базе данных: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31.
Что мне удалось выяснить: при написании запроса без Код: c# 1. 2. 3.
работает так как в разы быстрее, но без этого куска я получаю просто Sales. Второй вопрос как переписать Код: c# 1. 2. 3.
чтобы он работал также как и Код: sql 1.
в запросе T-SQL. Необходимый участок бд, ниже в изображении. Если необходима дополнительная инфа с удовольствием допишу. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2013, 14:13 |
|
Почему в Linq C# запрос выполняется медленнее, чем в LinqPAD? Как оптимизировать?
|
|||
---|---|---|---|
#18+
Проблема решилась написанием sql-запроса в asp.net приложении: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25.
Код сам по себе громоздкий и местами нечитабельный, но теперь та же страница загружается за 1 секунду против 1,7 минуты:) Неужели все настолько плохо в Linq C#? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2013, 15:15 |
|
Почему в Linq C# запрос выполняется медленнее, чем в LinqPAD? Как оптимизировать?
|
|||
---|---|---|---|
#18+
Osho, ну вы смотрели какой запрос то выходит после вашего Linq? а так по теме как замутить OUTER APPLY http://stackoverflow.com/questions/3014362/c-sharp-outer-apply-in-linq ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2013, 09:38 |
|
Почему в Linq C# запрос выполняется медленнее, чем в LinqPAD? Как оптимизировать?
|
|||
---|---|---|---|
#18+
handmadeFromRu, Полный запрос Linq выглядит так: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9.
Запрос Linq C# к базе: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
В LinqPad: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
За статью спасибо, но, к сожалению, там разбирается пример когда две таблицы соединены связью один-ко-многим, у меня связь Tasks - SaleTaskRelation - Sales. Поэтому приходится извращаться с множеством select. Я переписал было запрос c GroupJoin, но запрос выполняется так же медленно, но при этом получаем кучу select в самом запросе SQL. Запрос с GroupJoin: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2013, 12:21 |
|
|
start [/forum/topic.php?fid=17&msg=38490301&tid=1349879]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
131ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 258ms |
total: | 485ms |
0 / 0 |