powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Что быстрей Filter, Linq или запросы к БД
25 сообщений из 51, страница 1 из 3
Что быстрей Filter, Linq или запросы к БД
    #36818190
Фотография artzub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет!

Помогите определиться с выбором, времени экспериментировать нет.
Может кто-то на своем опыте знает, что более продуктивно на больших объемах данных?

____________________________________________________________________________________
Жизнь хитрая штука - как только все карты на руках — она решает сыграть с тобой в шахматы!
...
Рейтинг: 0 / 0
Что быстрей Filter, Linq или запросы к БД
    #36818206
Konstantin S.B.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хранимые процедуры
...
Рейтинг: 0 / 0
Что быстрей Filter, Linq или запросы к БД
    #36818275
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Linq (Linq to SQL, EF) может фильтровать локальные (клиентские) коллекции, а так же формировать серверные SQL запросы. В Вашем случае с большим набором данных первое неприемлемо.
Следовательно, остаётся выбор за SQL. Если Linq-запрос написан грамотно (который потом транспонируется в SQL), то без разницы, что быстрее. Потому что тот же сгенерённый запрос можно было написать руками в той же хранимой процедуре.
А, вообще, всё зависит от сложности запроса.
...
Рейтинг: 0 / 0
Что быстрей Filter, Linq или запросы к БД
    #36818298
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konstantin S.B.Хранимые процедуры

Объясните мне, пожалуйста, как хранимые процедуры могут быть производительнее прямых запросов к БД?
...
Рейтинг: 0 / 0
Что быстрей Filter, Linq или запросы к БД
    #36818327
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КурдльKonstantin S.B.Хранимые процедуры

Объясните мне, пожалуйста, как хранимые процедуры могут быть производительнее прямых запросов к БД?

Про процедурный кэш слыхали чё?

При компиляции хп, оные помещаются в процедурный кэш, что может способствовать увеличению производительности при их выполнении за счет исключения необходимости в синтаксическом разборе, оптимизации и компиляции кода хранимых процедур.
...
Рейтинг: 0 / 0
Что быстрей Filter, Linq или запросы к БД
    #36818354
Konstantin S.B.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МСУКурдльKonstantin S.B.Хранимые процедуры

Объясните мне, пожалуйста, как хранимые процедуры могут быть производительнее прямых запросов к БД?

Про процедурный кэш слыхали чё?

При компиляции хп, оные помещаются в процедурный кэш, что может способствовать увеличению производительности при их выполнении за счет исключения необходимости в синтаксическом разборе, оптимизации и компиляции кода хранимых процедур.

В отдельных случаях, это может способствовать ее снижению, когда план выполнения стоило бы поменять. :)
Можно еще сказать про снижение сетевой нагрузки, как бе тоже на производительность может повлиять.
Вопрос производительности лучше решать "на месте", экспериментировать, особенно когда работаешь с БД.
...
Рейтинг: 0 / 0
Что быстрей Filter, Linq или запросы к БД
    #36818369
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konstantin S.B.В отдельных случаях, это может способствовать ее снижению, когда план выполнения стоило бы поменять. :)
Разумеется. Но меня спрашивали "как хранимые процедуры могут быть производительнее" :)
...
Рейтинг: 0 / 0
Что быстрей Filter, Linq или запросы к БД
    #36818425
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУПри компиляции хп, оные помещаются в процедурный кэш, что может способствовать увеличению производительности при их выполнении за счет исключения необходимости в синтаксическом разборе, оптимизации и компиляции кода хранимых процедур.

И как это соотносится с производительностью автоматизированной системы, в состав которой входит СУБД?
Не теряется время на синтаксический разбор SQL-запросов? Вы серьезно в это верите?
...
Рейтинг: 0 / 0
Что быстрей Filter, Linq или запросы к БД
    #36818429
Фотография LR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С появлением PLinq возникает соблазн еще одного "кардинального" решения - "большие объемы данных" разворачивать в дешевой памяти... однако тут без экспериментов не обойтись ))

Согласен с предыдущими мнениями - свои (осознанные, продуманные) хп/запросы + тюнинг табличных индексов
...
Рейтинг: 0 / 0
Что быстрей Filter, Linq или запросы к БД
    #36818441
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КурдльИ как это соотносится с производительностью автоматизированной системы, в состав которой входит СУБД?
Что значит "как это соотносится с производительностью"? Напрямую соотносится.

КурдльНе теряется время на синтаксический разбор SQL-запросов? Вы серьезно в это верите?
Не верю, а знаю.
P.S. Не забывайте еще и про оптимизацию и компиляцию. Это тоже немаловажный cost.
...
Рейтинг: 0 / 0
Что быстрей Filter, Linq или запросы к БД
    #36823634
Datar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МСУКурдльИ как это соотносится с производительностью автоматизированной системы, в состав которой входит СУБД?
Что значит "как это соотносится с производительностью"? Напрямую соотносится.


Всегда интерисовал этот вопрос, но кроме теоретических размышлений ничего не видел. У вас есть результаты тестировния подверждающие эти соображения?
...
Рейтинг: 0 / 0
Что быстрей Filter, Linq или запросы к БД
    #36823766
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DatarВсегда интерисовал этот вопрос, но кроме теоретических размышлений ничего не видел. У вас есть результаты тестировния подверждающие эти соображения?
Иногда полезно читать статьи того ресурса, на котором общаетесь.

Производительность хранимых процедур MS SQL Server 2000

http://www.rusdoc.ru/articles/9513/
...
Рейтинг: 0 / 0
Что быстрей Filter, Linq или запросы к БД
    #36823793
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

Могли бы привести квинтессенцию "исследования" по приведенной Вами ссылке:

"Таким образом, можно заключить, что использование хранимых процедур не всегда может повысить производительность запросов. Следует крайне внимательно подходить к тем хранимым процедурам, которые работают с результатами с переменным количеством строк и использующие различные планы выполнения."
...
Рейтинг: 0 / 0
Что быстрей Filter, Linq или запросы к БД
    #36823811
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КурдльМСУ,

Могли бы привести квинтессенцию "исследования" по приведенной Вами ссылке:

"Таким образом, можно заключить, что использование хранимых процедур не всегда может повысить производительность запросов. Следует крайне внимательно подходить к тем хранимым процедурам, которые работают с результатами с переменным количеством строк и использующие различные планы выполнения."

Вы же сами привести квинтессенцию, зачем мне её приводить? :)
...
Рейтинг: 0 / 0
Что быстрей Filter, Linq или запросы к БД
    #36823813
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
привести == привели
...
Рейтинг: 0 / 0
Что быстрей Filter, Linq или запросы к БД
    #36823911
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
off: Курдль, а почему я захожу на Ваш профильный сайт, а меня редиректит на какой-то левый порносайт?
...
Рейтинг: 0 / 0
Что быстрей Filter, Linq или запросы к БД
    #36823918
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

Сайт подох за неуплату несколько лет назад, как тот хостинг сделали платным :( А из профиля все забываю его убрать.
...
Рейтинг: 0 / 0
Что быстрей Filter, Linq или запросы к БД
    #36824017
Datar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МСУDatarВсегда интерисовал этот вопрос, но кроме теоретических размышлений ничего не видел. У вас есть результаты тестировния подверждающие эти соображения?
Иногда полезно читать статьи того ресурса, на котором общаетесь.

Производительность хранимых процедур MS SQL Server 2000

http://www.rusdoc.ru/articles/9513/

Не кидайте тонны флейма, дайте одну ссылку на авторитетный документ с результатами, которые можно восспроизвести и проверить. Поймите, я не против хапэ, я в какой-то степени за них. Но получается как с тем богом, все в него верят, а доказательств нету.
...
Рейтинг: 0 / 0
Что быстрей Filter, Linq или запросы к БД
    #36824053
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DatarНе кидайте тонны флейма
Где тут тонна флейма? Я Вам привёл ссылку. Что ещё нужно?
P.S. Вы провели тестирование по указанному материалу? К какому результату пришли?

Datarполучается как с тем богом, все в него верят, а доказательств нету.
Когда приложитесь умом к той статье, которую я дал - доказательства будут. А трепать языком из-под забора все могут, тут много ума не нужно.
P.S. По делу всё, как я понял?
...
Рейтинг: 0 / 0
Что быстрей Filter, Linq или запросы к БД
    #36824165
Datar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МСУDatarНе кидайте тонны флейма
Где тут тонна флейма? Я Вам привёл ссылку. Что ещё нужно?
P.S. Вы провели тестирование по указанному материалу? К какому результату пришли?

Я не авторитетный источник, тем не менее своеобразное тестирование я провел и пришел к выводу, что хапэ увеличивают время разработки и сложность сопровождения системы. Выигрыш в скорости если и есть, то на глаз в решаемых мной задачах не наблюдается. Но я по наивности продолжаю верить в чудо и разную чушь о которой говорите вы.

МСУDatarполучается как с тем богом, все в него верят, а доказательств нету.
Когда приложитесь умом к той статье, которую я дал - доказательства будут. А трепать языком из-под забора все могут, тут много ума не нужно.
P.S. По делу всё, как я понял?

А вы сами пробовали приложится? Хотябы к последнему обзацу? А то получается, что языком трепаете только вы, и ссылаетесь на статьи с почти прямо противоположными выводами. Не красиво как-то, искать изъяны к других, не замечая их в себе ;-) По теме у меня все, если только у вас опять не прорвется нечто личностное.
...
Рейтинг: 0 / 0
Что быстрей Filter, Linq или запросы к БД
    #36824377
Фотография LR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Datarпришел к выводу, что хапэ увеличивают время разработки и сложность сопровождения системы.
имхо, главное преимущество "слоя хп" в том, что его можно использовать как своего рода интерфейс, "ServiceContract" (если проводить аналогию с WCF), одна хп - "OperationContract" ))

"увеличивают время разработки" - да, т.к. нужно хорошенько продумать этот "ServiceContract"
"увеличивают ... сложность сопровождения системы" - нет, наоборот, такой "ServiceContract" полностью развязывает руки - как со стороны субд, так и потребителей - делай что хошь, только не нарушай "Contract"

а сравнивать скорости выполнения хп и простого запроса дело неблагодарное...
...
Рейтинг: 0 / 0
Что быстрей Filter, Linq или запросы к БД
    #36824417
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LR
"увеличивают ... сложность сопровождения системы" - нет, наоборот, такой "ServiceContract" полностью развязывает руки - как со стороны субд, так и потребителей - делай что хошь, только не нарушай "Contract"

а сравнивать скорости выполнения хп и простого запроса дело неблагодарное...

1. Поверьте моему опыту - усложняют катастрофически!
Хорошо спроектированная БД максимально приближена к структуре, сущностям, связям предметной области. ХП "вашего типа" накладывают суррогатные ограничения на естественный доступ к данным БД. Либо пытаются скрыть огрехи в проектировании БД.

2. Благодарное, если понимать, какие цели стоят под приложением. Подменять "хранимой процедурой с одним запросом" один запрос, как указано в вышеприведенных ссылках, - смехотворно. А вот лопатить огромные объемы данных для анализа, "не вынося сор из избы" - это другое дело.
...
Рейтинг: 0 / 0
Что быстрей Filter, Linq или запросы к БД
    #36824435
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КурдльМСУПри компиляции хп, оные помещаются в процедурный кэш, что может способствовать увеличению производительности при их выполнении за счет исключения необходимости в синтаксическом разборе, оптимизации и компиляции кода хранимых процедур.

И как это соотносится с производительностью автоматизированной системы, в состав которой входит СУБД?
Не теряется время на синтаксический разбор SQL-запросов? Вы серьезно в это верите?
Для интереса, например, в Оракле есть отдельная и очень приличная графа в отчетах производительности. Называется "Parse time".

Для персональных, малоклиентских приложений, конечно разницу не углядишь.
...
Рейтинг: 0 / 0
Что быстрей Filter, Linq или запросы к БД
    #36824523
Фотография LR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Курдль1. Поверьте моему опыту - усложняют катастрофически!
Хорошо спроектированная БД максимально приближена к структуре, сущностям, связям предметной области. ХП "вашего типа" накладывают суррогатные ограничения на естественный доступ к данным БД. Либо пытаются скрыть огрехи в проектировании БД.
не поверю (т.к. верю своему опыту :))
"естественный доступ к данным БД" приводит к тому что система превращается в единый неделимый монолит, в котором невозможно что-либо изменить в БД, не делая соотв.изменений на клиенте(ах) ...
как бы хорошо ни была спроектирована БД, сложная предметная область имеет свойство изменяться...
"...суррогатные ограничения..." -> "...контрактные ограничения..." (контракт, при необходимости, можно ведь и перезаключить, в одном месте, а вот "естественные доступы" "выковыривать" из разношерстных клиентов будет посложней)

Курдль2. Благодарное, если понимать, какие цели стоят под приложением. Подменять "хранимой процедурой с одним запросом" один запрос, как указано в вышеприведенных ссылках, - смехотворно. А вот лопатить огромные объемы данных для анализа, "не вынося сор из избы" - это другое дело.
благодарное дело - сравнивать разные запросы (наборы запросов) для получения нужного результата, а завернуты они в хп или нет, имхо, не столь существенно... в смысле быстродействия (наи)более существенно - навесить "правильные" индексы на таблицы
...
Рейтинг: 0 / 0
Что быстрей Filter, Linq или запросы к БД
    #36824563
Datar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LRкак бы хорошо ни была спроектирована БД, сложная предметная область имеет свойство изменяться...
"...суррогатные ограничения..." -> "...контрактные ограничения..." (контракт, при необходимости, можно ведь и перезаключить, в одном месте, а вот "естественные доступы" "выковыривать" из разношерстных клиентов будет посложней)

Извините, не в одном. В трех как минимум:

Курдль2. Благодарное, если понимать, какие цели стоят под приложением. Подменять "хранимой процедурой с одним запросом" один запрос, как указано в вышеприведенных ссылках, - смехотворно. А вот лопатить огромные объемы данных для анализа, "не вынося сор из избы" - это другое дело.
благодарное дело - сравнивать разные запросы (наборы запросов) для получения нужного результата, а завернуты они в хп или нет, имхо, не столь существенно... в смысле быстродействия (наи)более существенно - навесить "правильные" индексы на таблицы[/quot]
...
Рейтинг: 0 / 0
25 сообщений из 51, страница 1 из 3
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Что быстрей Filter, Linq или запросы к БД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]