Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вопрос по скорости работы запроса [D5]


Sapsi ©   (2003-04-18 08:56:00) 

Добрый день
Вопрос, думаю, простейший для любителей потоков.
Выполняется СКЛ. ОБычно, например, время выполнения - 10 секунд.
Как наилучшим образом отследить, что он выполняется дольше, обрубить связь, отменить выполнение и т.п.
Таймер в основном потоке, а запрос в другом?
Подскажите, плиз.


Sapsi   (2003-04-18 13:27:00) [1]

Спасибо всем, уже сделал сам


sniknik   (2003-04-18 12:02:00) [2]

Sapsi (18.04.03 11:41)
интересный вопрос. тебе к какому дню список продоставить? :о))

лутше бы вопрос прояснил, хотя бы почему решение NAlexey © (18.04.03 09:26) не подходит? ведь действительно делать то специально ничего не надо.


Sapsi   (2003-04-18 11:41:00) [3]

кто работал с скл запросами в отдельном потоке?


Sapsi   (2003-04-18 11:06:00) [4]

вот отконнектиться можно будет, но вопрос не в этом, а в том, как выполнить запрос в другом потоке и проверить результат его работы


Sergey13   (2003-04-18 10:41:00) [5]

2Sapsi (18.04.03 10:25)
Сори, мои вопросы запостились позднее ответов. 8-)
Многое стало понятно. Извини.

Тогда твой вопрос, имхо, не имеет решения. По моему с клиента убить самого себя не получится, да еще и не с админскими правами. Разве что отконектиться.


Sergey13   (2003-04-18 10:29:00) [6]

2Sapsi (18.04.03 10:16)
>Если не проходит выполнение запроса,
А с чего ты решил что он "не проходит"? Может, когда ты мерял свои 10 секунд, ты был в базе один, а сейчас работает 10 человек. Может кто-то по сети кино качает, и ты просто не можешь свои данные получить из за этого. Может просто объем данных вырос и теперь этот запрос выполняется 10.1 секунды. Да мало ли причин. А тут просто - бац и отрубил.
И потом. 10 секунд для запроса - это многовато. Тут или запрос сложный и объемный. И в этом случае надо приложить иногда немалые усилия что бы его настроить. Или просто оптимизацией никто никогда не занимался, индексы например не построены.

>то его надо будет сделать позже
Когда позже? Через 11 секунд после начала первой попытки? Вот так сервера и вешают, ИМХО.


Sapsi   (2003-04-18 10:25:00) [7]

значит база находится не в моем ведении, у меня лишь хранимая процедура, которая обращается к ней, коннект к базе есть,
но из-за "провисания" сетки либо из-за каких-либо работ на базе ее админами, у меня (точнее без меня у оператора) происходит замедление работы, иногда до 5-10 минут. В то же время выполнить эту процедуру можно позже.
Вот я и хочу узнать, что СКЛ (конкретно СЕЛЕКТ) выполняется больше 10-20 секунд и отменить его выполнение.
Вопрос вообще был, как это лучше сделать.


Mike Kouzmine   (2003-04-18 10:19:00) [8]

А что значит не проходит?


Sapsi   (2003-04-18 10:16:00) [9]

2 Sergey13 что значит странный подход.
Если не проходит выполнение запроса, то его надо будет сделать позже


NAlexey   (2003-04-18 09:26:00) [10]

Если ADO то не надо ничего следить, CommandTimeout выставляй сколько надо. Если нет то не подскажу.


Sergey13   (2003-04-18 09:21:00) [11]

2Sapsi (18.04.03 08:56)
>Как наилучшим образом отследить, что он выполняется дольше, обрубить связь, отменить выполнение и т.п.
Странный подход к решению проблемы. 8-(


Наверх

Титульная страница Поиск, карта сайта Написать письмо