|
LINQ - проще
|
|||
---|---|---|---|
#18+
Сегодня осознал, что EF проще. Вот такой LINQ Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
нарисовал такой sql и секономил мне несколколько седых волос на попе. Код: 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. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2018, 23:13 |
|
LINQ - проще
|
|||
---|---|---|---|
#18+
Не обошлось и без магии компиляйтора Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2018, 23:22 |
|
LINQ - проще
|
|||
---|---|---|---|
#18+
На SQL это в строк двадцать можно выразить и без подзапросов. Выполняться будет на порядок быстрее. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2018, 08:07 |
|
LINQ - проще
|
|||
---|---|---|---|
#18+
Relic Hunter, колонка Comments случаем не NVARCHAR (MAX)? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2018, 08:11 |
|
LINQ - проще
|
|||
---|---|---|---|
#18+
skyANA, На SQL это в строк двадцать можно выразить и без подзапросов. ----- И выполнятся оно будет и на мелкомягком, и на оркале, и на постгрее... И будет работать даже когда типы поменяются... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2018, 12:19 |
|
LINQ - проще
|
|||
---|---|---|---|
#18+
skyANAНа SQL это в строк двадцать можно выразить и без подзапросов. Выполняться будет на порядок быстрее. Конечно на порядок быстрее не будет. Быстрее будет только если написать совсем _другой_ запрос. А не тот же самый, но по-другому. И конечно надо правильно писать и читать LINQ, чтобы понимать, какой запрос на это сгенерируется. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2018, 15:38 |
|
LINQ - проще
|
|||
---|---|---|---|
#18+
hVosttБыстрее будет только если написать совсем _другой_ запрос. А не тот же самый, но по-другому. Что значит тот же самый? Возвращающий аналогичный результат? К примеру запрос со вложенными SELECT COUNT вернёт тоже самое, что и SELECT SUM(CASE, но при этом последний будет в разы короче и быстрее. Оконными функциями также можно всё короче и быстрее оформить. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2018, 16:36 |
|
LINQ - проще
|
|||
---|---|---|---|
#18+
skyANAЧто значит тот же самый? Возвращающий аналогичный результат? да, аналогичный результат при тех же вводных skyANAК примеру запрос со вложенными SELECT COUNT вернёт тоже самое, что и SELECT SUM(CASE, но при этом последний будет в разы короче и быстрее. Оконными функциями также можно всё короче и быстрее оформить. это предположение? наши опыты и тесты показывают, что оптимизатор БД в состоянии "страшный" запрос, генерируемый EF, выполнить также быстро, как SQL, написанный вручную. обычно это верно для 90% запросов. бывает, что EF генерит какую-то дичь, но это для сложных случаев, которые даже LINQ без пол бутылки не разобрать. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2018, 11:19 |
|
LINQ - проще
|
|||
---|---|---|---|
#18+
hVosttнаши опыты и тесты показывают, что оптимизатор БД в состоянии "страшный" запрос, генерируемый EF, выполнить также быстро, как SQL, написанный вручную. обычно это верно для 90% запросов. ИМХО Это запросы переводящиеся в SQL сменой синтаксиса. LINQ близок к SQL по синтаксису. Оставшиеся 10% - это то что один-в-один в select не трасформируется. Оптимизатор БД не переоценивай. В MS SQL он продвинутый, но не сильно. На сложных запросах может выбирать очень неоптимальные планы выполнения. PS Идеология "CodeFirst наше всё" ведет к тому что проблему оставшихся 10% решать будет некому. Данный топик пример этого. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2018, 17:34 |
|
LINQ - проще
|
|||
---|---|---|---|
#18+
>hVostt, вчера, 11:19 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1306630&msg=21763808][21763808] >наши опыты и тесты показывают...также быстро, как SQL, написанный вручную...обычно это верно для 90% запросов. <давайте проверим на данном конкретном примере. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2018, 00:04 |
|
LINQ - проще
|
|||
---|---|---|---|
#18+
ВМоисеев, Хотите вернутся к срачу linq или ОРМ? Поезд ушел. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2018, 09:06 |
|
LINQ - проще
|
|||
---|---|---|---|
#18+
ВМоисеев, Не так) Linq (ORM) или SQL. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2018, 09:07 |
|
LINQ - проще
|
|||
---|---|---|---|
#18+
hVosttskyANAК примеру запрос со вложенными SELECT COUNT вернёт тоже самое, что и SELECT SUM(CASE, но при этом последний будет в разы короче и быстрее. Оконными функциями также можно всё короче и быстрее оформить. это предположение? Это опыт. Раз в год приходят ко мне с просьбой помочь ускорить запрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2018, 10:22 |
|
LINQ - проще
|
|||
---|---|---|---|
#18+
hVosttобычно это верно для 90% запросов. С этим не спорю. Речь конкретно про запрос в начале топика. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2018, 10:25 |
|
LINQ - проще
|
|||
---|---|---|---|
#18+
ВМоисеев>hVostt, вчера, 11:19 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1306630&msg=21763808][21763808] >наши опыты и тесты показывают...также быстро, как SQL, написанный вручную...обычно это верно для 90% запросов. <давайте проверим на данном конкретном примере. Бекап базы у автора топика попросим что-ли? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2018, 10:26 |
|
LINQ - проще
|
|||
---|---|---|---|
#18+
hVosttskyANAНа SQL это в строк двадцать можно выразить и без подзапросов. Выполняться будет на порядок быстрее. Конечно на порядок быстрее не будет. Быстрее будет только если написать совсем _другой_ запрос. А не тот же самый, но по-другому. И конечно надо правильно писать и читать LINQ, чтобы понимать, какой запрос на это сгенерируется. почему я тебя понял, а skyANA начал задавать "уточняющие" вопросы? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2018, 10:46 |
|
LINQ - проще
|
|||
---|---|---|---|
#18+
Petro123ВМоисеев, Не так) Linq (ORM) или SQL. это вечный срач ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2018, 10:48 |
|
LINQ - проще
|
|||
---|---|---|---|
#18+
skyANAВМоисеев>hVostt, вчера, 11:19 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1306630&msg=21763808][21763808] >наши опыты и тесты показывают...также быстро, как SQL, написанный вручную...обычно это верно для 90% запросов. <давайте проверим на данном конкретном примере. Бекап базы у автора топика попросим что-ли? будешь оптимизировать его запросы? тебе делать нечего, всего достиг? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2018, 10:49 |
|
LINQ - проще
|
|||
---|---|---|---|
#18+
love_bachPetro123ВМоисеев, Не так) Linq (ORM) или SQL. это вечный срач))) В Java года три уже как прошёл)) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2018, 11:28 |
|
LINQ - проще
|
|||
---|---|---|---|
#18+
>skyANA, сегодня, 10:26 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1306630&msg=21764657][21764657] >Бекап базы у автора топика попросим что-ли? <Вы что-то говорили про 20 строк - так предъявите их автору топика. Он проверит, получит цифирки сравнения и никакого срача. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2018, 12:31 |
|
LINQ - проще
|
|||
---|---|---|---|
#18+
>skyANA, сегодня, 10:26 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1306630&msg=21764657][21764657] >Бекап базы у автора топика попросим что-ли? <Вы что-то говорили про 20 строк - так предъявите их автору топика. Он проверит, получит цифирки сравнения и никакого срача. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2018, 12:32 |
|
LINQ - проще
|
|||
---|---|---|---|
#18+
>skyANA, сегодня, 10:26 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1306630&msg=21764657][21764657] >Бекап базы у автора топика попросим что-ли? <Вы что-то говорили про 20 строк - так предъявите их автору топика. Он проверит, получит цифирки сравнения и никакого срача. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2018, 12:36 |
|
LINQ - проще
|
|||
---|---|---|---|
#18+
ВМоисеев>skyANA, сегодня, 10:26 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1306630&msg=21764657][21764657] >Бекап базы у автора топика попросим что-ли? <Вы что-то говорили про 20 строк - так предъявите их автору топика. Он проверит, получит цифирки сравнения и никакого срача. А я думал Вы сами хотите проверить. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2018, 12:38 |
|
LINQ - проще
|
|||
---|---|---|---|
#18+
ВМоисеев, автор топика не удосужился ответить на вопрос о типа колонки Comments, ему походу топик совсем не интересен ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2018, 12:39 |
|
LINQ - проще
|
|||
---|---|---|---|
#18+
Дмитрий МухВМоисеев, автор топика не удосужился ответить на вопрос о типа колонки Comments, ему походу топик совсем не интересен ну, допустим, varchar(MAX). возможно, извлекает только по Id. возможно в какой-то журнал извлекает записи, где это поле только первые надцать символов. что дальше? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2018, 13:00 |
|
|
start [/forum/topic.php?fid=17&msg=39748356&tid=1349144]: |
0ms |
get settings: |
12ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
37ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 158ms |
0 / 0 |