Текущий архив: 2003.05.08;
Скачать: CL | DM;
Вниз
Вопрос по скорости работы запроса Найти похожие ветки
← →
Sapsi (2003-04-18 08:56) [0]Добрый день
Вопрос, думаю, простейший для любителей потоков.
Выполняется СКЛ. ОБычно, например, время выполнения - 10 секунд.
Как наилучшим образом отследить, что он выполняется дольше, обрубить связь, отменить выполнение и т.п.
Таймер в основном потоке, а запрос в другом?
Подскажите, плиз.
← →
Sergey13 (2003-04-18 09:21) [1]2Sapsi (18.04.03 08:56)
>Как наилучшим образом отследить, что он выполняется дольше, обрубить связь, отменить выполнение и т.п.
Странный подход к решению проблемы. 8-(
← →
NAlexey (2003-04-18 09:26) [2]Если ADO то не надо ничего следить, CommandTimeout выставляй сколько надо. Если нет то не подскажу.
← →
Sapsi (2003-04-18 10:16) [3]2 Sergey13 что значит странный подход.
Если не проходит выполнение запроса, то его надо будет сделать позже
← →
Mike Kouzmine (2003-04-18 10:19) [4]А что значит не проходит?
← →
Sapsi (2003-04-18 10:25) [5]значит база находится не в моем ведении, у меня лишь хранимая процедура, которая обращается к ней, коннект к базе есть,
но из-за "провисания" сетки либо из-за каких-либо работ на базе ее админами, у меня (точнее без меня у оператора) происходит замедление работы, иногда до 5-10 минут. В то же время выполнить эту процедуру можно позже.
Вот я и хочу узнать, что СКЛ (конкретно СЕЛЕКТ) выполняется больше 10-20 секунд и отменить его выполнение.
Вопрос вообще был, как это лучше сделать.
← →
Sergey13 (2003-04-18 10:29) [6]2Sapsi (18.04.03 10:16)
>Если не проходит выполнение запроса,
А с чего ты решил что он "не проходит"? Может, когда ты мерял свои 10 секунд, ты был в базе один, а сейчас работает 10 человек. Может кто-то по сети кино качает, и ты просто не можешь свои данные получить из за этого. Может просто объем данных вырос и теперь этот запрос выполняется 10.1 секунды. Да мало ли причин. А тут просто - бац и отрубил.
И потом. 10 секунд для запроса - это многовато. Тут или запрос сложный и объемный. И в этом случае надо приложить иногда немалые усилия что бы его настроить. Или просто оптимизацией никто никогда не занимался, индексы например не построены.
>то его надо будет сделать позже
Когда позже? Через 11 секунд после начала первой попытки? Вот так сервера и вешают, ИМХО.
← →
Sergey13 (2003-04-18 10:41) [7]2Sapsi (18.04.03 10:25)
Сори, мои вопросы запостились позднее ответов. 8-)
Многое стало понятно. Извини.
Тогда твой вопрос, имхо, не имеет решения. По моему с клиента убить самого себя не получится, да еще и не с админскими правами. Разве что отконектиться.
← →
Sapsi (2003-04-18 11:06) [8]вот отконнектиться можно будет, но вопрос не в этом, а в том, как выполнить запрос в другом потоке и проверить результат его работы
← →
Sapsi (2003-04-18 11:41) [9]кто работал с скл запросами в отдельном потоке?
← →
sniknik (2003-04-18 12:02) [10]Sapsi (18.04.03 11:41)
интересный вопрос. тебе к какому дню список продоставить? :о))
лутше бы вопрос прояснил, хотя бы почему решение NAlexey © (18.04.03 09:26) не подходит? ведь действительно делать то специально ничего не надо.
← →
Sapsi (2003-04-18 13:27) [11]Спасибо всем, уже сделал сам
Страницы: 1 вся ветка
Текущий архив: 2003.05.08;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.009 c