powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / ADP. форма + UDF = дурные тормоза
25 сообщений из 25, страница 1 из 1
ADP. форма + UDF = дурные тормоза
    #32209921
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Windows 2000 SP2. Аксес XP SP2. MS SQL 2000. mdac 2.7

Есть пользовательская функция. На вход принимает два параметра, на выходе имеем таблицу. Работает быстро (максимум 0.5 сек)
На этой функции висит формочка. Простая формочка. Табличный вид, все поля - текстовые. Входные параметры берет из двух контролов родительской формы.
Сначала формочка открывалась так же быстро, как и функция. В какой-то момент стало говорить Request Timeout. База тестовая, пользователей кроме меня там нихт.
Меняю тип набора записей со статического на обновляемый статический. Сохраняю форму, открываю - все ок. 0.5 сек.
Работаю полдня - начинаются тормоза. Request Timeout. Функция по прежнему отрабатывает быстро, а форма висит. Меняю тип набора записей обратно (с обновляемого статического на статический) - все становится нормально.
Через некоторое время - опять двадцать пять, меняю опять обратно, все начинает работать.

Таких форм - десяток. Все с переодичностью примерно раз в день отказываются работать и начинают работать только после шаманских действий (смены типа источника строк). Все в разное время. Для всех базовые функции отрабатывают быстро.

Есть ли у кого-нибудь какие-либо мысли почему эти бл%дские формочки могут тормозить? И какое им на фиг дело до типа источника строк?
...
Рейтинг: 0 / 0
ADP. форма + UDF = дурные тормоза
    #32209943
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Могу предположить, что эффективность шаманских действий объясняется наличием кэша, который при этих шаманских действиях обнуляется. Видимо, этот кэш и сбоит. Не знаю, есть ли возможность его вообще отменить нафиг.
...
Рейтинг: 0 / 0
ADP. форма + UDF = дурные тормоза
    #32209957
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что Профайлер показывает в этот момент?
...
Рейтинг: 0 / 0
ADP. форма + UDF = дурные тормоза
    #32209971
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Владимир Саныч
Кеш чего??? Формы? Функция-то отрабатывает без проблем.

2 Сенин Виктор
Да хрен его (профайлер) знает. Еще не заглядывал (не пинайте меня ногами). У меня его даже и нет :). И вообще из дома пишу, так что заглянуть не получится. Как на работу выйду - буду копать.

Больше всего раздражает то, что функция работает отлично (в любое время дня и ночи), а простейшая форма - иногда начинает тормозить по непонятным причинам.
...
Рейтинг: 0 / 0
ADP. форма + UDF = дурные тормоза
    #32209973
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
> Кеш чего??? Формы?

Насколько я понимаю, сервер не всегда возвращает данные прямо из таблицы, а иногда проверяет, не было ли недавно точно такого запроса, и если был, то возвращает из памяти.
...
Рейтинг: 0 / 0
ADP. форма + UDF = дурные тормоза
    #32209985
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И при попытке выбрать из памяти говорит Request Timeout?
И как на этот серверный кеш может влиять обновляемость/необновляемость набора в форме на клиенте? Кстати, получающийся набор там вообще никогда не обновляемый.
...
Рейтинг: 0 / 0
ADP. форма + UDF = дурные тормоза
    #32210000
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
> И при попытке выбрать из памяти говорит Request Timeout?

Да, из-за какого-то бага. Только подчеркиваю, что это все только гипотеза.

> И как на этот серверный кеш может влиять обновляемость/необновляемость набора в форме на клиенте?

Возможно, это один из передаваемых параметров, по которым идет проверка, надо ли обращаться к диску или к памяти.
...
Рейтинг: 0 / 0
ADP. форма + UDF = дурные тормоза
    #32210010
VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может стоит поиграться значением Request Timeout?
Или поставь таймер,который раз в ... мин будет менять тип набора записей
...
Рейтинг: 0 / 0
ADP. форма + UDF = дурные тормоза
    #32210019
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или поставь таймер,который раз в ... мин будет менять тип набора записей
Ты не поверишь, но я над этим уже думал. Не катит. Если форма сейчас работает (нормально) при необновляемом статическом наборе, то менять его на обновляемый - нельзя, начнутся тормоза. Изменение надо делать в непонятно какой момент времени. Может, пытаться ловить Request Timeout и в этом момент менять?
...
Рейтинг: 0 / 0
ADP. форма + UDF = дурные тормоза
    #32210025
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может стоит поиграться значением Request Timeout
Ну поиграю, ну получу, что форма будет таки открываться. Полчаса вместо секунды. Радости мне это не принесет. Или придется проповедовать философию "Если запрос исполняется меньше четырех часов - то это хорошо, ибо запустить его можно два раза в день"
...
Рейтинг: 0 / 0
ADP. форма + UDF = дурные тормоза
    #32210036
VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может быть у тебя что-то с блокировками ?
...
Рейтинг: 0 / 0
ADP. форма + UDF = дурные тормоза
    #32210049
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут не надо гадать, тут надо Профайлер смотреть.
Штука хорошая - если понять что он выдает

>Может быть у тебя что-то с блокировками ?
А может и в правду - поставил бы хинт NoLock (вроде так называется - я еще не запомнил :) ) пущай грязное чтение делает
...
Рейтинг: 0 / 0
ADP. форма + UDF = дурные тормоза
    #32210050
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут не надо гадать, тут надо Профайлер смотреть.
Штука хорошая - если понять что он выдает

>Может быть у тебя что-то с блокировками ?
А может и в правду - поставил бы хинт NoLock (вроде так называется - я еще не запомнил :) ) пущай грязное чтение делает
...
Рейтинг: 0 / 0
ADP. форма + UDF = дурные тормоза
    #32210051
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я в этой базе один.
Не могу же я сам себя блокировать. Вернее, могу конечно, но не в этом случае. И почему функции на блокировки по фиг, а форма вдруг на них спотыкается? Хотя их там и нет, неоткуда им взятся.
...
Рейтинг: 0 / 0
ADP. форма + UDF = дурные тормоза
    #32210112
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лох, ты уверен, что у тебя в этот момент сервер статистику не обновляет или шринк не делает или не бакапиться? Глупое предположение...но кто знает
...
Рейтинг: 0 / 0
ADP. форма + UDF = дурные тормоза
    #32210192
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а функция ничего побочного не выдает
(типа при no count off) что акс со временем не может пережевать

, или формочка Debug.print не засоряет память?
...
Рейтинг: 0 / 0
ADP. форма + UDF = дурные тормоза
    #32210292
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Сенин Виктор
В базе я один, но на сервере, конечно, есть еще базы и в них сидят пользователи. Не будут же под меня одного выделенный SQL Server ставить . Так что активность сервера ненулевая.
НО другие пользователи работают и не жалуются.
НО базовая функция отрабатывает ВСЕГДА быстро
НО тип набора записей (обновляемый/необновляемый), с которым форма работает нормально, постоянно меняется . Если бы она всегда работаа с обновляемым - я бы сделал его и забыл. Или наоборот, сделал бы необновляемый и забыл. А получается, что раз в день приходится менять туда - сюда. Причем из 10 похожих простейших формочек с один момент времени часть работает только при обновляемом наборе, часть - только при необновляемом.

2 Вадя
Функция нечем побочным не занимается. Ничего сложнее Full Outer Join'а там не встречается. Обычные селекты из других похожих функций (тоже обычных селектов), входные параметры одни на всех. Ничего особенного в общем. Оперирует достаточно большими объемами данных, но сильно режет их на самом первом этапе. Ни на каком из уровней вложенности количество записей не превышает 1000 (а обычно так меньше 100).
Форма вообще ничего не делает. У нее даже модуля нет. Обычная табличная форма, все поля текстовые и чекбоксы. Был бы хотя бы один комбобокс - было бы на что плеваться, а так хз.
...
Рейтинг: 0 / 0
ADP. форма + UDF = дурные тормоза
    #32210421
Фотография Pavel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как я понял, твоя функция может быть заменена на ХП. Попробуй что будет происходить в таком варианте.
...
Рейтинг: 0 / 0
ADP. форма + UDF = дурные тормоза
    #32210434
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может ограничение на число подключений - одновременно работающих функций (форм)?
...
Рейтинг: 0 / 0
ADP. форма + UDF = дурные тормоза
    #32210998
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Pavel
Как я понял, твоя функция может быть заменена на ХП
К сожалению нет. Она (они) сама(и) используется в качестве источников для других. Может это и неправильно, но привычки от Jet'а остались - функции максимально соответствуют обычным запросам на выборку с параметрами.

2 Вадя
может ограничение на число подключений - одновременно работающих функций (форм)?
Дык форма то одна. И подключение одно. Вложенность функций - не больше четырех.

Блин, никак до профайлера добраться не могу.
...
Рейтинг: 0 / 0
ADP. форма + UDF = дурные тормоза
    #32211486
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну блин, неужто перевелись бухатыри на Руси?
...
Рейтинг: 0 / 0
ADP. форма + UDF = дурные тормоза
    #32211524
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
форма сначала работает. потом перестает.
не меняя параметров формы, закрываешь акс. потом запускаешь акс , а форма продолжает херовничать?

если так , то твоя форма скоре всего здесь не причем. скорее всего - функция, и ее взаимодействие с сервером (с базой).

опиши по-подробней.
...
Рейтинг: 0 / 0
ADP. форма + UDF = дурные тормоза
    #32211573
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
форма сначала работает. потом перестает.
не меняя параметров формы, закрываешь акс. потом запускаешь акс , а форма продолжает херовничать

Именно так. Сначала все работает как часы, потом все начинает работать как сломанные часы. Если ничего не менять - ничего и не вылечится. Хотя я не пробовал полдня ждать (типа вдруг само вылечится). Хоть сто раз открой-закрой аксес - по фигу мороз. Стоит поменять тип набора данных - все начинает работать как часы.

форма скоре всего здесь не причем. скорее всего - функция, и ее взаимодействие с сервером
Тогда почему эта долбанная функция ВСЕГДА работает нормально? А форма - нет?
...
Рейтинг: 0 / 0
ADP. форма + UDF = дурные тормоза
    #32211632
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
видимо сервер что-то копит. типа под не измененную форму данные и еще что-то. данные функии выплевывает. а это что-то типа в кеше сохраняется . и пока не изменишь форму ("параметры обращения к функции") кеш не очищается.

попрбуй замени тело функии на чтони-будь. просто select данные.
для пробы.
...
Рейтинг: 0 / 0
ADP. форма + UDF = дурные тормоза
    #32211643
Фотография Pavel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так и я про то же. Заверни функцию в процедуру.
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / ADP. форма + UDF = дурные тормоза
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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