|
|
|
Что быстрей Filter, Linq или запросы к БД
|
|||
|---|---|---|---|
|
#18+
Привет! Помогите определиться с выбором, времени экспериментировать нет. Может кто-то на своем опыте знает, что более продуктивно на больших объемах данных? ____________________________________________________________________________________ Жизнь хитрая штука - как только все карты на руках — она решает сыграть с тобой в шахматы! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2010, 08:22 |
|
||
|
Что быстрей Filter, Linq или запросы к БД
|
|||
|---|---|---|---|
|
#18+
Хранимые процедуры ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2010, 08:43 |
|
||
|
Что быстрей Filter, Linq или запросы к БД
|
|||
|---|---|---|---|
|
#18+
Linq (Linq to SQL, EF) может фильтровать локальные (клиентские) коллекции, а так же формировать серверные SQL запросы. В Вашем случае с большим набором данных первое неприемлемо. Следовательно, остаётся выбор за SQL. Если Linq-запрос написан грамотно (который потом транспонируется в SQL), то без разницы, что быстрее. Потому что тот же сгенерённый запрос можно было написать руками в той же хранимой процедуре. А, вообще, всё зависит от сложности запроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2010, 09:38 |
|
||
|
Что быстрей Filter, Linq или запросы к БД
|
|||
|---|---|---|---|
|
#18+
Konstantin S.B.Хранимые процедуры Объясните мне, пожалуйста, как хранимые процедуры могут быть производительнее прямых запросов к БД? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2010, 09:54 |
|
||
|
Что быстрей Filter, Linq или запросы к БД
|
|||
|---|---|---|---|
|
#18+
КурдльKonstantin S.B.Хранимые процедуры Объясните мне, пожалуйста, как хранимые процедуры могут быть производительнее прямых запросов к БД? Про процедурный кэш слыхали чё? При компиляции хп, оные помещаются в процедурный кэш, что может способствовать увеличению производительности при их выполнении за счет исключения необходимости в синтаксическом разборе, оптимизации и компиляции кода хранимых процедур. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2010, 10:10 |
|
||
|
Что быстрей Filter, Linq или запросы к БД
|
|||
|---|---|---|---|
|
#18+
МСУКурдльKonstantin S.B.Хранимые процедуры Объясните мне, пожалуйста, как хранимые процедуры могут быть производительнее прямых запросов к БД? Про процедурный кэш слыхали чё? При компиляции хп, оные помещаются в процедурный кэш, что может способствовать увеличению производительности при их выполнении за счет исключения необходимости в синтаксическом разборе, оптимизации и компиляции кода хранимых процедур. В отдельных случаях, это может способствовать ее снижению, когда план выполнения стоило бы поменять. :) Можно еще сказать про снижение сетевой нагрузки, как бе тоже на производительность может повлиять. Вопрос производительности лучше решать "на месте", экспериментировать, особенно когда работаешь с БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2010, 10:22 |
|
||
|
Что быстрей Filter, Linq или запросы к БД
|
|||
|---|---|---|---|
|
#18+
Konstantin S.B.В отдельных случаях, это может способствовать ее снижению, когда план выполнения стоило бы поменять. :) Разумеется. Но меня спрашивали "как хранимые процедуры могут быть производительнее" :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2010, 10:29 |
|
||
|
Что быстрей Filter, Linq или запросы к БД
|
|||
|---|---|---|---|
|
#18+
МСУПри компиляции хп, оные помещаются в процедурный кэш, что может способствовать увеличению производительности при их выполнении за счет исключения необходимости в синтаксическом разборе, оптимизации и компиляции кода хранимых процедур. И как это соотносится с производительностью автоматизированной системы, в состав которой входит СУБД? Не теряется время на синтаксический разбор SQL-запросов? Вы серьезно в это верите? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2010, 11:00 |
|
||
|
Что быстрей Filter, Linq или запросы к БД
|
|||
|---|---|---|---|
|
#18+
С появлением PLinq возникает соблазн еще одного "кардинального" решения - "большие объемы данных" разворачивать в дешевой памяти... однако тут без экспериментов не обойтись )) Согласен с предыдущими мнениями - свои (осознанные, продуманные) хп/запросы + тюнинг табличных индексов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2010, 11:02 |
|
||
|
Что быстрей Filter, Linq или запросы к БД
|
|||
|---|---|---|---|
|
#18+
КурдльИ как это соотносится с производительностью автоматизированной системы, в состав которой входит СУБД? Что значит "как это соотносится с производительностью"? Напрямую соотносится. КурдльНе теряется время на синтаксический разбор SQL-запросов? Вы серьезно в это верите? Не верю, а знаю. P.S. Не забывайте еще и про оптимизацию и компиляцию. Это тоже немаловажный cost. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2010, 11:07 |
|
||
|
Что быстрей Filter, Linq или запросы к БД
|
|||
|---|---|---|---|
|
#18+
МСУКурдльИ как это соотносится с производительностью автоматизированной системы, в состав которой входит СУБД? Что значит "как это соотносится с производительностью"? Напрямую соотносится. Всегда интерисовал этот вопрос, но кроме теоретических размышлений ничего не видел. У вас есть результаты тестировния подверждающие эти соображения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2010, 13:48 |
|
||
|
Что быстрей Filter, Linq или запросы к БД
|
|||
|---|---|---|---|
|
#18+
DatarВсегда интерисовал этот вопрос, но кроме теоретических размышлений ничего не видел. У вас есть результаты тестировния подверждающие эти соображения? Иногда полезно читать статьи того ресурса, на котором общаетесь. Производительность хранимых процедур MS SQL Server 2000 http://www.rusdoc.ru/articles/9513/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2010, 14:25 |
|
||
|
Что быстрей Filter, Linq или запросы к БД
|
|||
|---|---|---|---|
|
#18+
МСУ, Могли бы привести квинтессенцию "исследования" по приведенной Вами ссылке: "Таким образом, можно заключить, что использование хранимых процедур не всегда может повысить производительность запросов. Следует крайне внимательно подходить к тем хранимым процедурам, которые работают с результатами с переменным количеством строк и использующие различные планы выполнения." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2010, 14:35 |
|
||
|
Что быстрей Filter, Linq или запросы к БД
|
|||
|---|---|---|---|
|
#18+
КурдльМСУ, Могли бы привести квинтессенцию "исследования" по приведенной Вами ссылке: "Таким образом, можно заключить, что использование хранимых процедур не всегда может повысить производительность запросов. Следует крайне внимательно подходить к тем хранимым процедурам, которые работают с результатами с переменным количеством строк и использующие различные планы выполнения." Вы же сами привести квинтессенцию, зачем мне её приводить? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2010, 14:39 |
|
||
|
Что быстрей Filter, Linq или запросы к БД
|
|||
|---|---|---|---|
|
#18+
привести == привели ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2010, 14:39 |
|
||
|
Что быстрей Filter, Linq или запросы к БД
|
|||
|---|---|---|---|
|
#18+
off: Курдль, а почему я захожу на Ваш профильный сайт, а меня редиректит на какой-то левый порносайт? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2010, 15:03 |
|
||
|
Что быстрей Filter, Linq или запросы к БД
|
|||
|---|---|---|---|
|
#18+
МСУ, Сайт подох за неуплату несколько лет назад, как тот хостинг сделали платным :( А из профиля все забываю его убрать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2010, 15:05 |
|
||
|
Что быстрей Filter, Linq или запросы к БД
|
|||
|---|---|---|---|
|
#18+
МСУDatarВсегда интерисовал этот вопрос, но кроме теоретических размышлений ничего не видел. У вас есть результаты тестировния подверждающие эти соображения? Иногда полезно читать статьи того ресурса, на котором общаетесь. Производительность хранимых процедур MS SQL Server 2000 http://www.rusdoc.ru/articles/9513/ Не кидайте тонны флейма, дайте одну ссылку на авторитетный документ с результатами, которые можно восспроизвести и проверить. Поймите, я не против хапэ, я в какой-то степени за них. Но получается как с тем богом, все в него верят, а доказательств нету. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2010, 15:30 |
|
||
|
Что быстрей Filter, Linq или запросы к БД
|
|||
|---|---|---|---|
|
#18+
DatarНе кидайте тонны флейма Где тут тонна флейма? Я Вам привёл ссылку. Что ещё нужно? P.S. Вы провели тестирование по указанному материалу? К какому результату пришли? Datarполучается как с тем богом, все в него верят, а доказательств нету. Когда приложитесь умом к той статье, которую я дал - доказательства будут. А трепать языком из-под забора все могут, тут много ума не нужно. P.S. По делу всё, как я понял? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2010, 15:39 |
|
||
|
Что быстрей Filter, Linq или запросы к БД
|
|||
|---|---|---|---|
|
#18+
МСУDatarНе кидайте тонны флейма Где тут тонна флейма? Я Вам привёл ссылку. Что ещё нужно? P.S. Вы провели тестирование по указанному материалу? К какому результату пришли? Я не авторитетный источник, тем не менее своеобразное тестирование я провел и пришел к выводу, что хапэ увеличивают время разработки и сложность сопровождения системы. Выигрыш в скорости если и есть, то на глаз в решаемых мной задачах не наблюдается. Но я по наивности продолжаю верить в чудо и разную чушь о которой говорите вы. МСУDatarполучается как с тем богом, все в него верят, а доказательств нету. Когда приложитесь умом к той статье, которую я дал - доказательства будут. А трепать языком из-под забора все могут, тут много ума не нужно. P.S. По делу всё, как я понял? А вы сами пробовали приложится? Хотябы к последнему обзацу? А то получается, что языком трепаете только вы, и ссылаетесь на статьи с почти прямо противоположными выводами. Не красиво как-то, искать изъяны к других, не замечая их в себе ;-) По теме у меня все, если только у вас опять не прорвется нечто личностное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2010, 16:09 |
|
||
|
Что быстрей Filter, Linq или запросы к БД
|
|||
|---|---|---|---|
|
#18+
Datarпришел к выводу, что хапэ увеличивают время разработки и сложность сопровождения системы. имхо, главное преимущество "слоя хп" в том, что его можно использовать как своего рода интерфейс, "ServiceContract" (если проводить аналогию с WCF), одна хп - "OperationContract" )) "увеличивают время разработки" - да, т.к. нужно хорошенько продумать этот "ServiceContract" "увеличивают ... сложность сопровождения системы" - нет, наоборот, такой "ServiceContract" полностью развязывает руки - как со стороны субд, так и потребителей - делай что хошь, только не нарушай "Contract" а сравнивать скорости выполнения хп и простого запроса дело неблагодарное... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2010, 17:15 |
|
||
|
Что быстрей Filter, Linq или запросы к БД
|
|||
|---|---|---|---|
|
#18+
LR "увеличивают ... сложность сопровождения системы" - нет, наоборот, такой "ServiceContract" полностью развязывает руки - как со стороны субд, так и потребителей - делай что хошь, только не нарушай "Contract" а сравнивать скорости выполнения хп и простого запроса дело неблагодарное... 1. Поверьте моему опыту - усложняют катастрофически! Хорошо спроектированная БД максимально приближена к структуре, сущностям, связям предметной области. ХП "вашего типа" накладывают суррогатные ограничения на естественный доступ к данным БД. Либо пытаются скрыть огрехи в проектировании БД. 2. Благодарное, если понимать, какие цели стоят под приложением. Подменять "хранимой процедурой с одним запросом" один запрос, как указано в вышеприведенных ссылках, - смехотворно. А вот лопатить огромные объемы данных для анализа, "не вынося сор из избы" - это другое дело. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2010, 17:30 |
|
||
|
Что быстрей Filter, Linq или запросы к БД
|
|||
|---|---|---|---|
|
#18+
КурдльМСУПри компиляции хп, оные помещаются в процедурный кэш, что может способствовать увеличению производительности при их выполнении за счет исключения необходимости в синтаксическом разборе, оптимизации и компиляции кода хранимых процедур. И как это соотносится с производительностью автоматизированной системы, в состав которой входит СУБД? Не теряется время на синтаксический разбор SQL-запросов? Вы серьезно в это верите? Для интереса, например, в Оракле есть отдельная и очень приличная графа в отчетах производительности. Называется "Parse time". Для персональных, малоклиентских приложений, конечно разницу не углядишь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2010, 17:36 |
|
||
|
Что быстрей Filter, Linq или запросы к БД
|
|||
|---|---|---|---|
|
#18+
Курдль1. Поверьте моему опыту - усложняют катастрофически! Хорошо спроектированная БД максимально приближена к структуре, сущностям, связям предметной области. ХП "вашего типа" накладывают суррогатные ограничения на естественный доступ к данным БД. Либо пытаются скрыть огрехи в проектировании БД. не поверю (т.к. верю своему опыту :)) "естественный доступ к данным БД" приводит к тому что система превращается в единый неделимый монолит, в котором невозможно что-либо изменить в БД, не делая соотв.изменений на клиенте(ах) ... как бы хорошо ни была спроектирована БД, сложная предметная область имеет свойство изменяться... "...суррогатные ограничения..." -> "...контрактные ограничения..." (контракт, при необходимости, можно ведь и перезаключить, в одном месте, а вот "естественные доступы" "выковыривать" из разношерстных клиентов будет посложней) Курдль2. Благодарное, если понимать, какие цели стоят под приложением. Подменять "хранимой процедурой с одним запросом" один запрос, как указано в вышеприведенных ссылках, - смехотворно. А вот лопатить огромные объемы данных для анализа, "не вынося сор из избы" - это другое дело. благодарное дело - сравнивать разные запросы (наборы запросов) для получения нужного результата, а завернуты они в хп или нет, имхо, не столь существенно... в смысле быстродействия (наи)более существенно - навесить "правильные" индексы на таблицы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2010, 18:10 |
|
||
|
Что быстрей Filter, Linq или запросы к БД
|
|||
|---|---|---|---|
|
#18+
LRкак бы хорошо ни была спроектирована БД, сложная предметная область имеет свойство изменяться... "...суррогатные ограничения..." -> "...контрактные ограничения..." (контракт, при необходимости, можно ведь и перезаключить, в одном месте, а вот "естественные доступы" "выковыривать" из разношерстных клиентов будет посложней) Извините, не в одном. В трех как минимум: Курдль2. Благодарное, если понимать, какие цели стоят под приложением. Подменять "хранимой процедурой с одним запросом" один запрос, как указано в вышеприведенных ссылках, - смехотворно. А вот лопатить огромные объемы данных для анализа, "не вынося сор из избы" - это другое дело. благодарное дело - сравнивать разные запросы (наборы запросов) для получения нужного результата, а завернуты они в хп или нет, имхо, не столь существенно... в смысле быстродействия (наи)более существенно - навесить "правильные" индексы на таблицы[/quot] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2010, 18:32 |
|
||
|
|

start [/forum/topic.php?fid=17&msg=36823911&tid=1351098]: |
0ms |
get settings: |
8ms |
get forum list: |
24ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
61ms |
get topic data: |
16ms |
get forum data: |
4ms |
get page messages: |
65ms |
get tp. blocked users: |
1ms |
| others: | 231ms |
| total: | 420ms |

| 0 / 0 |
