Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.05.08;
Скачать: [xml.tar.bz2];

Вниз

Вопрос по скорости работы запроса   Найти похожие ветки 

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.014 c
1-23227
AlexKost
2003-04-25 14:59
2003.05.08
TMethod


3-22988
zom
2003-04-14 12:54
2003.05.08
Поиск по индексу или Select, что быстрее через ADO?


14-23393
Saietor
2003-04-19 21:04
2003.05.08
Написание расчетных программ на Delphi


14-23378
mixamixa
2003-04-20 20:25
2003.05.08
Где взять стаднартные иконки (копировать, принет)?


6-23273
tiam
2003-03-14 09:00
2003.05.08
Мапирование сетевого диска





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский