powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Скорость выполнения запросов
12 сообщений из 12, страница 1 из 1
Скорость выполнения запросов
    #35670664
xprof
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет всем! Есть такой вопрос:
1 Имеется MS SQL запрос.
2 Этот запрос выполняем через MS SQL Management Studio. Время выполнения составляет 5-10 секунд.
3 Этот же запрос выполняем из программы, написаной под MS VS и использующей библиотеку ADO .NET - время выполнения заметно больше от 30 секунд. При этом используется TableAdapter в DataSet. Вызывается метод Fill.. сгенерированный "мастером" при создании TableAdapter.

Есть какие - либо версии почему это может быть?
...
Рейтинг: 0 / 0
Скорость выполнения запросов
    #35672114
piterblinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К черту сгенерированный, пиши сам.
За раз одну таблицу заполняй, если надо то позже заполняй следующие таблицы не очень объемные.
Можно и так.
Если запрос 5-10 сек, используй DataReader, он вернет начало и пошел читать дальше, на Fill только простые запросы и возвращающие как можно меньше строк.
...
Рейтинг: 0 / 0
Скорость выполнения запросов
    #35672313
Gatman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
piterblinovК черту сгенерированный, пиши сам.+1
дизайнер генерит чушь, тянет лишние данные. фтопку дизайнер
...
Рейтинг: 0 / 0
Скорость выполнения запросов
    #35672358
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Также стоит сравнить set'ы выставляемые при установке соединения из ADO.Net с set'ами в MS SQL Management Studio?
...
Рейтинг: 0 / 0
Скорость выполнения запросов
    #35672580
xprof
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GatmanpiterblinovК черту сгенерированный, пиши сам.+1
дизайнер генерит чушь, тянет лишние данные. фтопку дизайнер

Дизайнер генерит нормальный код - адекватный решаемой задаче, я проверял сгенерированный код. Запрос не хитрый. Возвращает не более 50 записей в самой базене больше 100 000. Отбор ведется по ключевым полям типа DateTime. При этом для каждой строки вычисляется значение функции, которая в свою очередь выбирает значение из БД.

Видел в форуме сообщения на тему, что надо смотреть параметры, задаваемые для соединения типа всяких SET ANSI_NULLS... и.т.д Как они могут влять на скорость выполнения запроса - непонимаю.
...
Рейтинг: 0 / 0
Скорость выполнения запросов
    #35674729
stimpi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
SET NOCOUNT { ON | OFF }
еще как влияет, почитайте книгу Tuning SQL, там в частности про этот случай написано
...
Рейтинг: 0 / 0
Скорость выполнения запросов
    #35674903
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xprof
Видел в форуме сообщения на тему, что надо смотреть параметры, задаваемые для соединения типа всяких SET ANSI_NULLS... и.т.д Как они могут влять на скорость выполнения запроса - непонимаю.
Вам действительно интересно? Тогда поспрошайте на скульном форуме, если доброхотов не найдётся я могу линком проспонсировать...
Да и не уверен я, что мои предположения верны... хотя... xprofОтбор ведется по ключевым полям типа DateTime
Вы это... как разберётесь - отпишите... :)
...
Рейтинг: 0 / 0
Скорость выполнения запросов
    #35675916
piterblinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я к примеру через FILL часто беру записи до 10000. Запрос выполняется Click-ком по дереву, пока user-ы не жаловались.
Пробовал в фоне затащить много записей и потом встроенным SELECT-ом или Filter-ом отбирать, получается намного хуже.
...
Рейтинг: 0 / 0
Скорость выполнения запросов
    #35677303
xprof
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
buserxprof
Видел в форуме сообщения на тему, что надо смотреть параметры, задаваемые для соединения типа всяких SET ANSI_NULLS... и.т.д Как они могут влять на скорость выполнения запроса - непонимаю.
Вам действительно интересно? Тогда поспрошайте на скульном форуме, если доброхотов не найдётся я могу линком проспонсировать...
Да и не уверен я, что мои предположения верны... хотя... xprofОтбор ведется по ключевым полям типа DateTime
Вы это... как разберётесь - отпишите... :)
Да, проспонсируйте линком пожалуйста....

И еще заметил, что при просмотре Trace из Profiler:
- при выполнени из Management Studio происходят события SQL:BatchStarting
- при выполнении запросов из программы через ADO.NET происходят события RPC:Starting. Это что же ADO.NET работает через Remote Procedure Call?

Может где-то здесь собака порылась?
...
Рейтинг: 0 / 0
Скорость выполнения запросов
    #35677572
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
линк чуть пожже нагуглю, а RPC:Starting из-за sp_executesql?
...
Рейтинг: 0 / 0
Скорость выполнения запросов
    #35677831
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Erland Sommarskog, SQL Server MVP, esquel@sommarskog.se
ADO
.NET query execution much slower than SQL Management Studio

How does the code look that calls and execute the proc from ADO.NET?

Niels

ADO.NET query execution much slower than SQL Management Studio - Erland Sommarskog
12-Mar-08 07:33:38
(eliperp@gmail.com) writes:

No, it pleads innosence. After all, SSMS uses it too!

This is an issue with two things:
1) Different default settings in the client API and in SSMS. Next the
query runs slow in the app, run this command in SSMS first:
SET ARITHABORT OFF - my prediction is that the query will run slow
in SSMS now as well. ARITHABORT is one of these settings that is an
attribute of the query plan.

2) Parameter sniffing. When SQL Server runs a query the first time, it
uses the input parameters as guidance to build the plan. If the
first-time run is with atypical values, you will end up with a bad
plan.

It appears in your case that the good plan is flushed for some reason,
and righty after that the query is run with different parameters. Maybe
there are some nightly task going on?
и т.п.

Доп инфо есть в BOL...
P.S.> не нашёл я статейку где всё было компактно и по полочкам...
...
Рейтинг: 0 / 0
Скорость выполнения запросов
    #35678669
xprof
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
buserлинк чуть пожже нагуглю, а RPC:Starting из-за sp_executesql?
нет при вызове хранимой процедуры через sqlCommand
то есть в профайлере: "exec ...."
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Скорость выполнения запросов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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