|
|
|
Скорость выполнения запросов
|
|||
|---|---|---|---|
|
#18+
Привет всем! Есть такой вопрос: 1 Имеется MS SQL запрос. 2 Этот запрос выполняем через MS SQL Management Studio. Время выполнения составляет 5-10 секунд. 3 Этот же запрос выполняем из программы, написаной под MS VS и использующей библиотеку ADO .NET - время выполнения заметно больше от 30 секунд. При этом используется TableAdapter в DataSet. Вызывается метод Fill.. сгенерированный "мастером" при создании TableAdapter. Есть какие - либо версии почему это может быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2008, 01:06 |
|
||
|
Скорость выполнения запросов
|
|||
|---|---|---|---|
|
#18+
К черту сгенерированный, пиши сам. За раз одну таблицу заполняй, если надо то позже заполняй следующие таблицы не очень объемные. Можно и так. Если запрос 5-10 сек, используй DataReader, он вернет начало и пошел читать дальше, на Fill только простые запросы и возвращающие как можно меньше строк. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2008, 16:27 |
|
||
|
Скорость выполнения запросов
|
|||
|---|---|---|---|
|
#18+
piterblinovК черту сгенерированный, пиши сам.+1 дизайнер генерит чушь, тянет лишние данные. фтопку дизайнер ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2008, 17:20 |
|
||
|
Скорость выполнения запросов
|
|||
|---|---|---|---|
|
#18+
Также стоит сравнить set'ы выставляемые при установке соединения из ADO.Net с set'ами в MS SQL Management Studio? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2008, 17:36 |
|
||
|
Скорость выполнения запросов
|
|||
|---|---|---|---|
|
#18+
GatmanpiterblinovК черту сгенерированный, пиши сам.+1 дизайнер генерит чушь, тянет лишние данные. фтопку дизайнер Дизайнер генерит нормальный код - адекватный решаемой задаче, я проверял сгенерированный код. Запрос не хитрый. Возвращает не более 50 записей в самой базене больше 100 000. Отбор ведется по ключевым полям типа DateTime. При этом для каждой строки вычисляется значение функции, которая в свою очередь выбирает значение из БД. Видел в форуме сообщения на тему, что надо смотреть параметры, задаваемые для соединения типа всяких SET ANSI_NULLS... и.т.д Как они могут влять на скорость выполнения запроса - непонимаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2008, 18:57 |
|
||
|
Скорость выполнения запросов
|
|||
|---|---|---|---|
|
#18+
Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2008, 17:18 |
|
||
|
Скорость выполнения запросов
|
|||
|---|---|---|---|
|
#18+
xprof Видел в форуме сообщения на тему, что надо смотреть параметры, задаваемые для соединения типа всяких SET ANSI_NULLS... и.т.д Как они могут влять на скорость выполнения запроса - непонимаю. Вам действительно интересно? Тогда поспрошайте на скульном форуме, если доброхотов не найдётся я могу линком проспонсировать... Да и не уверен я, что мои предположения верны... хотя... xprofОтбор ведется по ключевым полям типа DateTime Вы это... как разберётесь - отпишите... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2008, 18:23 |
|
||
|
Скорость выполнения запросов
|
|||
|---|---|---|---|
|
#18+
Я к примеру через FILL часто беру записи до 10000. Запрос выполняется Click-ком по дереву, пока user-ы не жаловались. Пробовал в фоне затащить много записей и потом встроенным SELECT-ом или Filter-ом отбирать, получается намного хуже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2008, 11:24 |
|
||
|
Скорость выполнения запросов
|
|||
|---|---|---|---|
|
#18+
buserxprof Видел в форуме сообщения на тему, что надо смотреть параметры, задаваемые для соединения типа всяких SET ANSI_NULLS... и.т.д Как они могут влять на скорость выполнения запроса - непонимаю. Вам действительно интересно? Тогда поспрошайте на скульном форуме, если доброхотов не найдётся я могу линком проспонсировать... Да и не уверен я, что мои предположения верны... хотя... xprofОтбор ведется по ключевым полям типа DateTime Вы это... как разберётесь - отпишите... :) Да, проспонсируйте линком пожалуйста.... И еще заметил, что при просмотре Trace из Profiler: - при выполнени из Management Studio происходят события SQL:BatchStarting - при выполнении запросов из программы через ADO.NET происходят события RPC:Starting. Это что же ADO.NET работает через Remote Procedure Call? Может где-то здесь собака порылась? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2008, 17:19 |
|
||
|
Скорость выполнения запросов
|
|||
|---|---|---|---|
|
#18+
линк чуть пожже нагуглю, а RPC:Starting из-за sp_executesql? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2008, 19:06 |
|
||
|
Скорость выполнения запросов
|
|||
|---|---|---|---|
|
#18+
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.> не нашёл я статейку где всё было компактно и по полочкам... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2008, 22:05 |
|
||
|
|

start [/forum/topic.php?fid=17&msg=35672313&tid=1352051]: |
0ms |
get settings: |
11ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
50ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 240ms |
| total: | 383ms |

| 0 / 0 |
