|
|
|
Что быстрей Filter, Linq или запросы к БД
|
|||
|---|---|---|---|
|
#18+
LRкак бы хорошо ни была спроектирована БД, сложная предметная область имеет свойство изменяться... "...суррогатные ограничения..." -> "...контрактные ограничения..." (контракт, при необходимости, можно ведь и перезаключить, в одном месте, а вот "естественные доступы" "выковыривать" из разношерстных клиентов будет посложней) Извините, не в одном месте, а в трех как минимум: 1. В структуре таблиц DB 2. В хранимых процедурах 3. В клиентах В случае "естественный доступ к данным БД" только в двух. LR"...суррогатные ограничения..." -> "...контрактные ограничения..." (контракт, при необходимости, можно ведь и перезаключить, в одном месте, а вот "естественные доступы" "выковыривать" из разношерстных клиентов будет посложней) Извините, но тоже не в одном, в клиентах тоже прижется перезаключать. В случае "естественный доступ к данным БД" таже картина. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2010, 18:37 |
|
||
|
Что быстрей Filter, Linq или запросы к БД
|
|||
|---|---|---|---|
|
#18+
Извиняюсь за предыдушее сообщение, что-то у меня с руками или посты сами по себе отправляются во время редактирования на этом форуме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2010, 18:41 |
|
||
|
Что быстрей Filter, Linq или запросы к БД
|
|||
|---|---|---|---|
|
#18+
DatarИзвините, не в одном месте, а в трех как минимум: 1. В структуре таблиц DB 2. В хранимых процедурах 3. В клиентах В случае "естественный доступ к данным БД" только в двух. это да, неудачно сформулировал, я имел в виду другое - в моем случае "контракт" один для всех клиентов(и для всех случаев использования), в случае же "естественного доступа к данным БД" - "контрактов" столько, сколько случаев использования на клиентах, т.е. в в каждом конкретном случае придется вникать в свой, особый "контракт" и придумывать как его переделывать... (главное назначение интерфейсов - "разрезать" монолитную сложность на приемлемые (по сложности) куски) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2010, 18:55 |
|
||
|
Что быстрей Filter, Linq или запросы к БД
|
|||
|---|---|---|---|
|
#18+
LR"контракт" один для всех клиентов(и для всех случаев использования), в случае же "естественного доступа к данным БД" - "контрактов" столько, сколько случаев использования на клиентах, т.е. в в каждом конкретном случае придется вникать в свой, особый "контракт" и придумывать как его переделывать... То есть, если вы добавите еще один входной параметр в хапэ, клиентам не придется вникать в этот чандж и они подхватят новый функционал на лету? Хорошо, такой вопос: у вас есть набор хранимых процедур, которых вы назваете контрактом. Чем по вашему этот контракт, отличатеся контракта под названием "структура таблиц и правила ANSI SQL для доступа к ним"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2010, 21:46 |
|
||
|
Что быстрей Filter, Linq или запросы к БД
|
|||
|---|---|---|---|
|
#18+
DatarТо есть, если вы добавите еще один входной параметр в хапэ, клиентам не придется вникать в этот чандж и они подхватят новый функционал на лету? думаю, это совсем другой вопрос - об устройстве клиента, каким он должен быть - "осведомленным"(что-то знать о предметной области) или "браузером"(уметь отображать контент, не вникая в предметную область) DatarХорошо, такой вопос: у вас есть набор хранимых процедур, которых вы назваете контрактом. Чем по вашему этот контракт, отличатеся контракта под названием "структура таблиц и правила ANSI SQL для доступа к ним"? примерно тем же, чем торговля в супермаркете отличается от торговли на базаре :) (меньше свободы - больше надежности и управляемости, больше свободы - меньше надежности и управляемости... можно еще вообразить во что выльются в обоих случаях "изменения в предметной области", например, возникла необходимость введения маркировки ГМО :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2010, 23:09 |
|
||
|
Что быстрей Filter, Linq или запросы к БД
|
|||
|---|---|---|---|
|
#18+
Datarхапэ увеличивают время разработки и сложность сопровождения системы. На счёт времени разработки не слогласен. Какая разница, где написать тот или иной пусть сложный батч, на стороне сервера или на клиенте сервера? На счёт сопровождения системы - тоже. В чём сложность развернуть схему данных в БД с хранимыми процедурами? Вижу реальных два недостатка хранимых процедур - они не поддаются нормальной документации. По C# коду можно автогенерировать достаточно качественные доки, хотя есть тулзы и для генерации тех же chm-хелпов и для sql-серверных объектов. Второе - в случае поддержки приложением нескольких видов SQL-серверов (+ORM) хранимые процедуры будут, действительно, тяжелой ношей. Других страхов в отношении хп не вижу. DatarВыигрыш в скорости если и есть, то на глаз в решаемых мной задачах не наблюдается. Ну так не те задачи Вы решали, видимо. DatarНо я по наивности продолжаю верить в чудо и разную чушь о которой говорите вы. В том и отличие ламера от нормальныго спеца, что первый верит, а второй - знает. DatarА вы сами пробовали приложится? Хотябы к последнему обзацу? Пробовал. И? DatarА то получается, что языком трепаете только вы, и ссылаетесь на статьи с почти прямо противоположными выводами. Вы ошиблись, трёп видится только в Ваших несвязных потугах что-то доказать (что именно - пока загадка). DatarНе красиво как-то, искать изъяны к других, не замечая их в себе ;-) А кто их ищет-то, если они навиду? DatarПо теме у меня все, если только у вас опять не прорвется нечто личностное. Личностное опустим, меня больше интересует именно по делу. Курдль1. Поверьте моему опыту - усложняют катастрофически! Да ничего они не усложняют, если Вы умеете писать качественный нормальный сиквел код :) КурдльХорошо спроектированная БД максимально приближена к структуре, сущностям, связям предметной области. ХП "вашего типа" накладывают суррогатные ограничения на естественный доступ к данным БД. Либо пытаются скрыть огрехи в проектировании БД. Бред человека, идущего в потьмах. Не в обиду, дружище :) Мы с Вами ни раз уже дискутировали по разным направлениям, но такого похабного заявления я от Вас не ожидал, ей Богу... КурдльБлагодарное, если понимать, какие цели стоят под приложением. Подменять "хранимой процедурой с одним запросом" один запрос, как указано в вышеприведенных ссылках, - смехотворно. Абсолютно согласен. Для этого очень удобно применять ORM. Но иногда приходится жертвовать собою и выносить реально сложную обработку данных (где используются и работа с линкед серверами, и толкание DTS/SSIS пакетов, и т.д.) именно в хранимые процедуры. Задачи, ведь, бывают и посложнее, чем проапдейтить табличку по условию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2010, 10:41 |
|
||
|
Что быстрей Filter, Linq или запросы к БД
|
|||
|---|---|---|---|
|
#18+
LRменьше свободы - больше надежности и управляемости, больше свободы - меньше надежности и управляемости... Очень красиво сказали, +1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2010, 10:43 |
|
||
|
Что быстрей Filter, Linq или запросы к БД
|
|||
|---|---|---|---|
|
#18+
МСУ, "Личностное опустим, меня больше интересует именно по делу." - манера ваших высказываний пока что говорит об обратном. Вы готовы начать личностные придирки, если собеседник имеет иную точку зрения, а это значить что с вами о деле не поговоришь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2010, 12:38 |
|
||
|
Что быстрей Filter, Linq или запросы к БД
|
|||
|---|---|---|---|
|
#18+
DatarМСУ, "Личностное опустим, меня больше интересует именно по делу." - манера ваших высказываний пока что говорит об обратном. Вы готовы начать личностные придирки, если собеседник имеет иную точку зрения, а это значить что с вами о деле не поговоришь. Вы ошибаетесь, придирок никаких нет. Мне интересны Ваши противоположные доводы. Вот только если бы они были закреплены практикой, а не словами, был бы больший толк, нежели топтание на одном месте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2010, 12:42 |
|
||
|
Что быстрей Filter, Linq или запросы к БД
|
|||
|---|---|---|---|
|
#18+
МСУ, о да конечно, это вы все прямо по делу говорите. Пологаю вам неоднократно и не только я уже говорили, что искать вам дурака нужно прежде всего в себе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2010, 16:28 |
|
||
|
Что быстрей Filter, Linq или запросы к БД
|
|||
|---|---|---|---|
|
#18+
Datar, я уже ответил на этот потуг, изволю не повторяться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2010, 16:31 |
|
||
|
Что быстрей Filter, Linq или запросы к БД
|
|||
|---|---|---|---|
|
#18+
Datar'чик, я для Вас придумал хороший наглядный вариант, пищу для мозгов. Но для начала Вы опишите мне, как будете решать такую задачу: Дано: MS SQL Server 2005, .NET клиент (не важно, веб или вин), ORM: NHibernate Задача: удалить множество записей из таблицы Northwind..Categories (значения ID заранее известны) Я жду от Вас решения, пишется минимум кода. А потом я покажу, где Вы были не правы :) Будем рассматривать прежде всего - вопросы оптимизации конечного сиквел кода. Готовы? Или сразу сдадитесь? ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2010, 18:06 |
|
||
|
Что быстрей Filter, Linq или запросы к БД
|
|||
|---|---|---|---|
|
#18+
вроде тема подходит. Имеется код (aspx страница), - вызывается метод - его суть сводится с выполнению процедуры и передаче ее ответа вызывающему клиенту. Планируюся изменения и я думаю стоит связываться с вызовом процедур через Linq или нет? не будет ли потери в производительности? Нагрузка достаточно большая. Заранее благодарю! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2010, 15:16 |
|
||
|
Что быстрей Filter, Linq или запросы к БД
|
|||
|---|---|---|---|
|
#18+
netivanвроде тема подходит. Имеется код (aspx страница), - вызывается метод - его суть сводится с выполнению процедуры и передаче ее ответа вызывающему клиенту. Планируюся изменения и я думаю стоит связываться с вызовом процедур через Linq или нет? не будет ли потери в производительности? Нагрузка достаточно большая. Заранее благодарю! стопицот раз обсуждалось такое. /topic/746258&pg=1&hl=stored+procedure+vs лучше бы теорию почитали по базе данных с которой хотите работать и тогда поймете. что лучше или хуже в вашем случае. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2010, 15:35 |
|
||
|
Что быстрей Filter, Linq или запросы к БД
|
|||
|---|---|---|---|
|
#18+
baike2000netivanвроде тема подходит. Имеется код (aspx страница), - вызывается метод - его суть сводится с выполнению процедуры и передаче ее ответа вызывающему клиенту. Планируюся изменения и я думаю стоит связываться с вызовом процедур через Linq или нет? не будет ли потери в производительности? Нагрузка достаточно большая. Заранее благодарю! стопицот раз обсуждалось такое. /topic/746258&pg=1&hl=stored+procedure+vs лучше бы теорию почитали по базе данных с которой хотите работать и тогда поймете. что лучше или хуже в вашем случае.это немного не то. то что будет использовать SP это как бы факт. Вопрос в их вызове через обычный ADO.NET (как сейчас) или через LInq(что более удобно) ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2010, 16:17 |
|
||
|
Что быстрей Filter, Linq или запросы к БД
|
|||
|---|---|---|---|
|
#18+
netivan]это немного не то. то что будет использовать SP это как бы факт. Вопрос в их вызове через обычный ADO.NET (как сейчас) или через LInq(что более удобно) ? Ответьте на один простой вопрос: с какой целью Вы намереваетесь использовать инструмент ОРМ (Linq), тогда будем двигаться дальше в наших подугах добраться до истины. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2010, 16:58 |
|
||
|
Что быстрей Filter, Linq или запросы к БД
|
|||
|---|---|---|---|
|
#18+
Курдльnetivan]это немного не то. то что будет использовать SP это как бы факт. Вопрос в их вызове через обычный ADO.NET (как сейчас) или через LInq(что более удобно) ? Ответьте на один простой вопрос: с какой целью Вы намереваетесь использовать инструмент ОРМ (Linq), тогда будем двигаться дальше в наших подугах добраться до истины. всего лишь для удобства вызова ХП и получения результата. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2010, 17:13 |
|
||
|
Что быстрей Filter, Linq или запросы к БД
|
|||
|---|---|---|---|
|
#18+
netivanвсего лишь для удобства вызова ХП и получения результата. Пестец... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2010, 17:18 |
|
||
|
Что быстрей Filter, Linq или запросы к БД
|
|||
|---|---|---|---|
|
#18+
МСУnetivanвсего лишь для удобства вызова ХП и получения результата. Пестец... я вас ждал )). Тем не менее на вопрос никто не ответил :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2010, 17:26 |
|
||
|
Что быстрей Filter, Linq или запросы к БД
|
|||
|---|---|---|---|
|
#18+
netivanя вас ждал )). Тем не менее на вопрос никто не ответил :( Ну уж, звиняйте, netivan, какой вопрос - такой и ответ :) P.S. Юзать ORM ради "удобства вызова ХП" это, простите, дико ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2010, 17:28 |
|
||
|
Что быстрей Filter, Linq или запросы к БД
|
|||
|---|---|---|---|
|
#18+
netivanТем не менее на вопрос никто не ответил :( Хотите диких скоростей - юзайте ридеры, вот Вам мой ответ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2010, 17:29 |
|
||
|
Что быстрей Filter, Linq или запросы к БД
|
|||
|---|---|---|---|
|
#18+
netivan жжот. С ХП наоборот были некоторые неудобства, по-крайней мере в EF. Как дела в EF4 пока не прояснял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2010, 17:36 |
|
||
|
Что быстрей Filter, Linq или запросы к БД
|
|||
|---|---|---|---|
|
#18+
МСУnetivanТем не менее на вопрос никто не ответил :( Хотите диких скоростей - юзайте ридеры, вот Вам мой ответ.я боялся такого ответа. Только понять не могу каким образом Линк может затормозить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2010, 17:36 |
|
||
|
Что быстрей Filter, Linq или запросы к БД
|
|||
|---|---|---|---|
|
#18+
burednetivan жжот. С ХП наоборот были некоторые неудобства, по-крайней мере в EF. Как дела в EF4 пока не прояснял. хз в Linq2Sql неудобств не замечал :) Вообщем не нашел я поддержки !! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2010, 17:37 |
|
||
|
Что быстрей Filter, Linq или запросы к БД
|
|||
|---|---|---|---|
|
#18+
buredС ХП наоборот были некоторые неудобства, по-крайней мере в EF. Как дела в EF4 пока не прояснял. Год назад трещали. netivanя боялся такого ответа. Только понять не могу каким образом Линк может затормозить? Кодогенерация, типизация. Детский сад, netivan, ей Богу... :( netivanхз в Linq2Sql неудобств не замечал :) Вообщем не нашел я поддержки !! Да, у Linq2Sql с этим проблем нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2010, 17:48 |
|
||
|
|

start [/forum/topic.php?fid=17&msg=36836596&tid=1351098]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
49ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 206ms |
| total: | 319ms |

| 0 / 0 |
