|
Время выполнения запроса
|
|||
---|---|---|---|
#18+
Народ, Не могу понять одну вещь, есть процедура на сервере которая возвращает набор данных клиенткому приложению. Если эту процедуру запускать на компютере клиента из остнастки SQL Query Analyser (SQL 2000) он выполняется мгновенно и возвращает результирующий набор из 20 ти записей. Но если эту же процедуру вызывать из клиентского приложения = SQLEXEC(gnConnHandle, [EXEC MainReport , ?StDate, ?endDate'], (.SQL_Orders)) и если период примерно 1 месяц то напрочь все зависает .... Грешил на формат даты, препробовал и так и сяк '2017-11-01 07:00:00.000', '01112017'.... В чем может быть проблема? Всем спасибо за любую мысль. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2017, 02:54 |
|
Время выполнения запроса
|
|||
---|---|---|---|
#18+
ValeriiНарод, Не могу понять одну вещь, есть процедура на сервере которая возвращает набор данных клиенткому приложению. Если эту процедуру запускать на компютере клиента из остнастки SQL Query Analyser (SQL 2000) он выполняется мгновенно и возвращает результирующий набор из 20 ти записей. Но если эту же процедуру вызывать из клиентского приложения = SQLEXEC(gnConnHandle, [EXEC MainReport , ?StDate, ?endDate'], (.SQL_Orders)) и если период примерно 1 месяц то напрочь все зависает .... Грешил на формат даты, препробовал и так и сяк '2017-11-01 07:00:00.000', '01112017'.... В чем может быть проблема? Всем спасибо за любую мысль. Что еще заметил: Включил Profiler: Если смотреть запрос идущий с клиента: CPU 51750, READS 929761 Если смотреть запрос идущий с SQL Query Analyser: CPU 500, READS 118233 То есть видно что если запрос идет из клиентского приложения CPU кто-то очень сильно начинает грузить. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2017, 03:10 |
|
Время выполнения запроса
|
|||
---|---|---|---|
#18+
Valerii, Попробуйте просто дату передавать параметром. Может для SQL 2000 в dateTime перевести. (в 2005 точно не надо) Текстовый формат - '20171101' Да тупо выборку прямо на сервере сделайте, и определите какой) Напрашиваются вопросы, это единственное обращение к серверу, или приложение с ним работает, и в других местах все ок? Потому как разные советы напрашиваются) ну и попробуйте Код: sql 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2017, 09:59 |
|
Время выполнения запроса
|
|||
---|---|---|---|
#18+
ValeriiВключил Profiler... Осталось посмотреть в план выполнения запросов. Сравнить быстрый и медленный. Скорее всего прийдётся очистить статистику для выполнения запросов либо добавить индекс. Good luck! ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2017, 10:47 |
|
Время выполнения запроса
|
|||
---|---|---|---|
#18+
Sergey Ch, Индекс перестраивал, не помогает... Там запрос замученный чуток ... Но это только с одной такой базой на одном сервере. Та же база только сервер другой - очень уж тупая машинка-терминал- правда NCR хороший бренд - 256 МБ оперативки и все летает. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2017, 16:45 |
|
Время выполнения запроса
|
|||
---|---|---|---|
#18+
ValeriiSergey Ch, Индекс перестраивал, не помогает...Какой индекс? Почему именно его?Там запрос замученный чуток ... Но это только с одной такой базой на одном сервере. Та же база только сервер другой - очень уж тупая машинка-терминал- правда NCR хороший бренд - 256 МБ оперативки и все летает. А описанные симптомы наводят на мысли о parameter sbiffing. В гугле много написано. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2017, 17:28 |
|
Время выполнения запроса
|
|||
---|---|---|---|
#18+
Sergey Sizov, Индексов несколько, но 2 основных nr_orders - номер чека time_order - время чека эти 2 базовых по которым все дергается и джойнится ... понятно что можно пробовать переделывать запросы... но на других машинках с большим объемом все летает, а в моей ситуации не то что тормоз, а тупо бешаное зависание и чем больше период тем ситуация фатальней. Хотя она фатальная уже за 2-х недельный период.. Я с таким впервые сталкиваюсь. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2017, 18:03 |
|
Время выполнения запроса
|
|||
---|---|---|---|
#18+
ValeriiSergey Sizov, Индексов несколько, но 2 основных nr_orders - номер чека time_order - время чека эти 2 базовых по которым все дергается и джойнитсяИ как вы это определили? У сервера спрашивали? План запроса в обоих случаях смотрели?... понятно что можно пробовать переделывать запросы... но на других машинках с большим объемом все летает, а в моей ситуации не то что тормоз, а тупо бешаное зависание и чем больше период тем ситуация фатальней. Хотя она фатальная уже за 2-х недельный период..Что очень явно намекает на неиспользование индексов и полную бесполезность их перестраивания. Статистику давно обновляли?Я с таким впервые сталкиваюсь.Значит вы очень мало работали с MS SQL сервером. Ключевые слова для поиска я дал. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2017, 19:57 |
|
Время выполнения запроса
|
|||
---|---|---|---|
#18+
[quot Sergey Sizov][quot Valerii]Sergey Sizov, И как вы это определили? У сервера спрашивали? План запроса в обоих случаях смотрели? ... План запроса на сервере смотрел. Запускал эту процедуру на клиентсой машине, с которой работает клиентское приложение мною написаное, и туже процедуру я запускаю в Query Analyser В Query Analyser - выполнение запроса за пол - гда - 4 сек - возврат набора дагнных и 21 записи, в клиентском приложении полное зависание. Как мне из клиентсого приложения просмотреть план запроса? ведь я дергаю в нем ту же процедуру с 2-мя параметрами периода, что и в Query Analyser ... ч той же инсрукцией EXEC .... Profiler показывает загрузку CPU из клиентского приложения оболее 50К, когда если запускать процедуру из Query Analyser - макс 50. Значит вы очень мало работали с MS SQL сервером. Ключевые слова для поиска я дал. Вот именно что сервером MS SQL работаю давно. В самую глубь не могу сказать что копал - но кое-что известно... DBCC contig , cleantable и другие процедуры над базовой таблицой проделывал.... Производительность сервера - может в нем причина? Он давно не перегружался, у него аптайм больше 2 лет - облачный...? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2017, 20:50 |
|
Время выполнения запроса
|
|||
---|---|---|---|
#18+
Valerii, то есть проблемы с сервером решаете методом гадания на чем-нибудь? Удачи. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2017, 21:36 |
|
Время выполнения запроса
|
|||
---|---|---|---|
#18+
Valerii= SQLEXEC(gnConnHandle, [EXEC MainReport , ?StDate, ?endDate'], (.SQL_Orders)) ... ?endDate ' - это ошибка в сообщении или так в коде (с одинарной кавычкой) вызывается ХП? Второе, сравните опции соединений в QA и фоксе. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2017, 13:15 |
|
|
start [/forum/topic.php?fid=41&msg=39566946&tid=1581861]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
36ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 156ms |
0 / 0 |