Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.013 c
1-23087
LyzD
2003-04-25 22:36
2003.05.08
Освобождение памяти после создания XML документа


14-23285
Дмитрий К.К.
2003-04-22 05:59
2003.05.08
Именинники 22 апреля


14-23308
Bel
2003-04-17 10:25
2003.05.08
Сколько программа занимает места в памяти.


11-23047
Sam Stone
2002-07-27 22:16
2003.05.08
exptIntf ???


14-23295
AAC
2003-04-22 14:01
2003.05.08
Компонент по архивам




   Наверх