|
Сложные SQL запросы на языке LINQ
|
|||
---|---|---|---|
#18+
X-CiteЕсли таблиц немного, база весит меньше пол-терабайта, то может строить запросы через linq или orm какую или еще что, прокатит. Но по собственному опыту те запросы которые генерятся orm-ками для таблиц по 60млрд строк настолько неоптимальные, что оптимизатор mssql (например) просто выпадает в осадок...И какой вывод нужно сделать из прочитанного? В MSSQL плохой оптимизатор? Есть программисты, не умеющие работать с ОРМ? ОРМ формирует разные запросы для таблиц с менее и более 60 млрд записей? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2016, 14:39 |
|
Сложные SQL запросы на языке LINQ
|
|||
---|---|---|---|
#18+
Алексей КX-CiteЕсли таблиц немного, база весит меньше пол-терабайта, то может строить запросы через linq или orm какую или еще что, прокатит. Но по собственному опыту те запросы которые генерятся orm-ками для таблиц по 60млрд строк настолько неоптимальные, что оптимизатор mssql (например) просто выпадает в осадок...И какой вывод нужно сделать из прочитанного? В MSSQL плохой оптимизатор? Есть программисты, не умеющие работать с ОРМ? ОРМ формирует разные запросы для таблиц с менее и более 60 млрд записей? Вывод простой - оптимизатор MS SQL может "выпасть в осадок" и некто X-Cite это неоднократно наблюдал. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2016, 15:58 |
|
Сложные SQL запросы на языке LINQ
|
|||
---|---|---|---|
#18+
MonochromatiqueНе знаю, где ты находишься в пищевой цепочке разработки Работодатель. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2016, 20:21 |
|
Сложные SQL запросы на языке LINQ
|
|||
---|---|---|---|
#18+
Алексей Кfsharp_fsharpпропущено... если речь и дет о запросе реляционных данных, то SQL тут еще пока никто не обогнал ни в простоте, ни в эффективностиНапример, в SQL нет аналога ассоциаций. В синтаксисе нет. SQL не ООП, потому и нет. Есть join в него и транслируются ассоциации. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2016, 20:33 |
|
Сложные SQL запросы на языке LINQ
|
|||
---|---|---|---|
#18+
Алексей Кfsharp_fsharpя про то, что в LINQ это сделать нельзя, и еще масса полезных "классических" запросов, которые LINQ не осилит. тут только мапить DTO на SQLНу давай перечислим случаи, когда из-за ограниченных возможностей LINQ фрагмент запроса придётся разместить во view: 1. Рекурсивный запрос. 2. Необходимость использования хинтов. 3....... Можешь продолжить? Зачем надо костыль со view? А на кой нужен view если можно без view написать raw select? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2016, 20:36 |
|
Сложные SQL запросы на языке LINQ
|
|||
---|---|---|---|
#18+
Dima TАлексей Кпропущено... Ну давай перечислим случаи, когда из-за ограниченных возможностей LINQ фрагмент запроса придётся разместить во view: 1. Рекурсивный запрос. 2. Необходимость использования хинтов. 3....... Можешь продолжить? Зачем надо костыль со view? А на кой нужен view если можно без view написать raw select? часто, даже, и view не написать - where либо не получится из вне повесить, или это будет очень не оптимально. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2016, 20:48 |
|
Сложные SQL запросы на языке LINQ
|
|||
---|---|---|---|
#18+
Dima TАлексей Кпропущено... Ну давай перечислим случаи, когда из-за ограниченных возможностей LINQ фрагмент запроса придётся разместить во view: 1. Рекурсивный запрос. 2. Необходимость использования хинтов. 3....... Можешь продолжить? Зачем надо костыль со view? А на кой нужен view если можно без view написать raw select?С view linq может работать как с обычной таблицей. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2016, 21:07 |
|
Сложные SQL запросы на языке LINQ
|
|||
---|---|---|---|
#18+
fsharp_fsharpDima Tпропущено... Зачем надо костыль со view? А на кой нужен view если можно без view написать raw select? часто, даже, и view не написать - where либо не получится из вне повесить, или это будет очень не оптимально. Список сможешь продолжить? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2016, 21:11 |
|
Сложные SQL запросы на языке LINQ
|
|||
---|---|---|---|
#18+
Алексей Кfsharp_fsharpпропущено... часто, даже, и view не написать - where либо не получится из вне повесить, или это будет очень не оптимально. Список сможешь продолжить? я же про то что и вью не спасет. так что не в тот мне список ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2016, 21:17 |
|
Сложные SQL запросы на языке LINQ
|
|||
---|---|---|---|
#18+
fsharp_fsharpАлексей Кпропущено... Список сможешь продолжить? я же про то что и вью не спасет. так что не в тот мне список если это не мат вью ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2016, 21:18 |
|
Сложные SQL запросы на языке LINQ
|
|||
---|---|---|---|
#18+
fsharp_fsharpАлексей Кпропущено... Список сможешь продолжить? я же про то что и вью не спасет. так что не в тот мне списокНу тогда рассказывай, почему where на view из вне не получится повесить. Всегда получалось. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2016, 21:37 |
|
Сложные SQL запросы на языке LINQ
|
|||
---|---|---|---|
#18+
Алексей Кfsharp_fsharpпропущено... я же про то что и вью не спасет. так что не в тот мне списокНу тогда рассказывай, почему where на view из вне не получится повесить. Всегда получалось. потому что куча параметров может быть внурти запроса ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2016, 21:38 |
|
Сложные SQL запросы на языке LINQ
|
|||
---|---|---|---|
#18+
fsharp_fsharpАлексей Кпропущено... Ну тогда рассказывай, почему where на view из вне не получится повесить. Всегда получалось. потому что куча параметров может быть внурти запросаНе тот случай. Во view вынесен маленький фрагмент запроса, который невозможно написать на linq. Чего-то большого и сложного в этой view по определению быть не может. Поэтому не надо проецировать на обсуждаемую view все свои воспоминания, связанные с огромными sql запросами. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2016, 21:45 |
|
Сложные SQL запросы на языке LINQ
|
|||
---|---|---|---|
#18+
Алексей Кfsharp_fsharpпропущено... потому что куча параметров может быть внурти запросаНе тот случай. Во view вынесен маленький фрагмент запроса, который невозможно написать на linq. Чего-то большого и сложного в этой view по определению быть не может . Поэтому не надо проецировать на обсуждаемую view все свои воспоминания, связанные с огромными sql запросами. ну конечно, прямо по-определению. с запросами с параметрами не приходилось работать? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2016, 21:48 |
|
Сложные SQL запросы на языке LINQ
|
|||
---|---|---|---|
#18+
fsharp_fsharpАлексей Кпропущено... Не тот случай. Во view вынесен маленький фрагмент запроса, который невозможно написать на linq. Чего-то большого и сложного в этой view по определению быть не может . Поэтому не надо проецировать на обсуждаемую view все свои воспоминания, связанные с огромными sql запросами. ну конечно, прямо по-определению. с запросами с параметрами не приходилось работать?Например, во view вынесена рекурсивная часть запроса. Накой тут какие-то параметры? Да и какие параметры могут быть у view? Это же не inline-функция. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2016, 21:52 |
|
Сложные SQL запросы на языке LINQ
|
|||
---|---|---|---|
#18+
Dima TMonochromatiqueНе знаю, где ты находишься в пищевой цепочке разработки Работодатель. А чего тогда споришь? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2016, 22:40 |
|
Сложные SQL запросы на языке LINQ
|
|||
---|---|---|---|
#18+
fsharp_fsharpБД, особенно 10-15 лет назад, ничего не знали про LINQ. и как-то живут, по своим реляционным правилам. а БД, как и все в этом мире (2-й закон термодинамики неумолим), со временем тоже не молодеют, целлюлитом обрастают, или, даже, болеют. но живут. Ты оголтелую хрень какую-то несёшь. Когда-то и баз данных вообще не было, и калькуляторов не было. Гремели деревянными счётами и жили себе спокойно. fsharp_fsharpпроектирование БД под ОРМ - это зло. Я сомневаюсь, что ты свою глупую мантру сможешь пояснить, поэтому даже просить аргументировать этот бред не буду. Скажу только одно. Один из симптомов SQL головного мозга -- это когда человек вообще забывает для чего базы данных были придуманы. А придуманы они были хранить данные так, чтобы с ними было удобно работать. Если архитектура приложения, используемые ORM, задачи бизнеса в конце концов накладывают свои требования к проектированию БД для удобство выполнения задач и достижения конечной цели, а некий типа крутой БД архитектор встаёт раком со своими принципами, то он в этой же позе покидает команду и шурует в поисках такого же упоротого стада. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2016, 07:50 |
|
Сложные SQL запросы на языке LINQ
|
|||
---|---|---|---|
#18+
fsharp_fsharphVosttпропущено... Примерчики в студию! fsharp_fsharp Код: sql 1. 2. 3. 4.
Ты хоть понял, о чём идёт речь? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2016, 07:51 |
|
Сложные SQL запросы на языке LINQ
|
|||
---|---|---|---|
#18+
MonochromatiqueСколько лет должно пройти, чтобы ты забил в яндекс - как расшифровывается "LINQ"? Ты сам то, знаешь что это такое? Ну просвяти уж, раз начал. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2016, 07:52 |
|
Сложные SQL запросы на языке LINQ
|
|||
---|---|---|---|
#18+
О чем спор? Непонятно. Можно гвозди забивать микроскопом? - можно. Вопрос "нужно ли?" ушел из области спора. Опять же ушел в плоскость денег: что дороже - специалист, умеющий забивать гвозди без микроскопа или сверхпрочный микроскоп? В разных ситуациях по разному, чаще оказывается дешевле сверхпрочный микроскоп, т.е. усиление железа под возрастающие потребности. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2016, 20:28 |
|
Сложные SQL запросы на языке LINQ
|
|||
---|---|---|---|
#18+
Dima T О чем спор? Непонятно. Можно гвозди забивать микроскопом? - можно. Вопрос "нужно ли?" ушел из области спора. Опять же ушел в плоскость денег: что дороже - специалист, умеющий забивать гвозди без микроскопа или сверхпрочный микроскоп? В разных ситуациях по разному, чаще оказывается дешевле сверхпрочный микроскоп, т.е. усиление железа под возрастающие потребности.Но точно не о микроскопах. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.09.2016, 04:16 |
|
Сложные SQL запросы на языке LINQ
|
|||
---|---|---|---|
#18+
hVosttАлексей ККем? Дурачка включаешь?Да. Потому что не понимаю, пример чего ты ожидаешь увидеть. В LINQ и SQL есть как уникальные возможности, так и общие. Это и без примеров понятно. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.09.2016, 04:22 |
|
Сложные SQL запросы на языке LINQ
|
|||
---|---|---|---|
#18+
hVosttfsharp_fsharpБД, особенно 10-15 лет назад, ничего не знали про LINQ. и как-то живут, по своим реляционным правилам. а БД, как и все в этом мире (2-й закон термодинамики неумолим), со временем тоже не молодеют, целлюлитом обрастают, или, даже, болеют. но живут. Ты оголтелую хрень какую-то несёшь. Когда-то и баз данных вообще не было, и калькуляторов не было. Гремели деревянными счётами и жили себе спокойно. fsharp_fsharpпроектирование БД под ОРМ - это зло. Я сомневаюсь, что ты свою глупую мантру сможешь пояснить, поэтому даже просить аргументировать этот бред не буду. Скажу только одно. Один из симптомов SQL головного мозга -- это когда человек вообще забывает для чего базы данных были придуманы. А придуманы они были хранить данные так, чтобы с ними было удобно работать. Если архитектура приложения, используемые ORM, задачи бизнеса в конце концов накладывают свои требования к проектированию БД для удобство выполнения задач и достижения конечной цели, а некий типа крутой БД архитектор встаёт раком со своими принципами, то он в этой же позе покидает команду и шурует в поисках такого же упоротого стада. 1. с БД может работать не один клиент 2. ОРМ - это всегда локализованная задача для клиента - он вырывает из БД только то, что надо приложению. а БД - там еще много других задач. 3. наезд на "типа крутой БД архитектор" может оправдываться только если ты сам "типа крутой БД архитектор". по твоим постам - это не так: "С другой стороны на SQL можно написать ТАКОЕ, что в LINQ сделать почти не реально... вот только надо понимать, такие запросы изначально нафиг не нужны были в LINQ, а если пристально присмотреться, то скорее всего необходимость таких адских запросов — это большой косяк в разработке. Но то такое..." ... |
|||
:
Нравится:
Не нравится:
|
|||
19.09.2016, 14:58 |
|
Сложные SQL запросы на языке LINQ
|
|||
---|---|---|---|
#18+
Алексей КX-CiteЕсли таблиц немного, база весит меньше пол-терабайта, то может строить запросы через linq или orm какую или еще что, прокатит. Но по собственному опыту те запросы которые генерятся orm-ками для таблиц по 60млрд строк настолько неоптимальные, что оптимизатор mssql (например) просто выпадает в осадок...И какой вывод нужно сделать из прочитанного? В MSSQL плохой оптимизатор? Есть программисты, не умеющие работать с ОРМ? ОРМ формирует разные запросы для таблиц с менее и более 60 млрд записей? Я имел ввиду, что те запросы которые она генерирует, особенно сложные, настолько сложны при чтении их на sql, что не только человек, не может разобрать что там выбирается (без рефакторинга), но и сам оптимизатор строит далеко не оптимальные планы. Для многомиллионных таблиц, не оптимальный план грозит долгой выборкой. На небольших таблицах, там все равно как данные выбирались. Важно использовать то, что подходит под конкретную цель. Если быстрая разработка с одинарными инструкциями (актуальными для OLTP баз), то linq или что там, подойдет вполне. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.09.2016, 16:35 |
|
Сложные SQL запросы на языке LINQ
|
|||
---|---|---|---|
#18+
X-CiteАлексей Кпропущено... И какой вывод нужно сделать из прочитанного? В MSSQL плохой оптимизатор? Есть программисты, не умеющие работать с ОРМ? ОРМ формирует разные запросы для таблиц с менее и более 60 млрд записей? Я имел ввиду, что те запросы которые она генерирует, особенно сложные, настолько сложны при чтении их на sql, что не только человек, не может разобрать что там выбирается (без рефакторинга), но и сам оптимизатор строит далеко не оптимальные планы. Для многомиллионных таблиц, не оптимальный план грозит долгой выборкой. На небольших таблицах, там все равно как данные выбирались. Важно использовать то, что подходит под конкретную цель. Если быстрая разработка с одинарными инструкциями (актуальными для OLTP баз), то linq или что там, подойдет вполне.Что мешает строить LINQ запрос таким образом, чтобы на выходе получился нужный SQL запрос? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.09.2016, 16:58 |
|
|
start [/forum/topic.php?fid=17&msg=39311061&tid=1349361]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
177ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 292ms |
0 / 0 |