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

Вниз

"подвисание" приложения во время выполнения запроса   Найти похожие ветки 

 
irish   (2004-06-15 21:08) [0]

Иногда на выполнение запроса к базе требуется много времени (мин. 20 и больше). Как сделать так, чтобы во время выполнения этого запроса приложение не "подвисало", чтобы пользователь имел доступ к элементам управления формы?


 
Johnmen ©   (2004-06-15 21:46) [1]

http://delphimaster.net/view/3-1086877190/


 
sniknik ©   (2004-06-16 00:32) [2]

> мин. 20 и больше
запрос к ленинской библиотеке на содержание 18-го тома? ;о))

чтобы приложене не "подвисало" универсальное средство делать "тормозящее" действие в отдельном потоке. или воспользоватся готовым из какого нибудь поддерживающего компанента. (но смысл все одно - отдельный поток)


 
Danilka ©   (2004-06-16 08:07) [3]


> (мин. 20 и больше)

какой кошмар. какие терпеливые юзеры. почему они не покалечили таких разработчиков, предварительно не уволив за саботаж и вредительство?

:))


 
bushmen ©   (2004-06-16 11:18) [4]

>какие терпеливые юзеры

Они, наверное, до этого на счетах считали по паре месяцев :)


 
Alexander_K ©   (2004-06-16 12:06) [5]

Danilka ©   (16.06.04 08:07) [3]  bushmen ©   (16.06.04 11:18) [4]

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

А по существу: правильно тебе сказали про потоки. Почитай про TThread, посмотри в примерах, там есть проги с их использованием.


 
Alexander_K ©   (2004-06-16 12:09) [6]

А вообще, посмотри еще, может тебе где-нибудь в БД индексы построить надо - заметно убыстряет выполнение запросов


 
Danilka ©   (2004-06-16 13:29) [7]

[5] Alexander_K ©   (16.06.04 12:06)
Чего только не бывает. Но 20 минут - это клиника. Если запросы к базе на 20 минут, значит либо база спроектирована неверно, либо запрос корявый, третьего не дано.
Иногда, лучше добавить избыточности в базу, чем так вешать всех.

По мне, так запрос со временем выполнения на 10 секунд это уже что-то не так и надо выправлять ситуацию, а тут - на два порядка...


 
Johnmen ©   (2004-06-16 13:38) [8]

>Danilka ©   (16.06.04 13:29) [7]

Не соглашусь. Т.к., например, сбор сложной статистики может идти долго. При этом может выполняться более 1 запроса.
И это вовсе не значит, что все будут вешаться...
:)


 
Danilka ©   (2004-06-16 14:02) [9]

Alexander_K ©
Johnmen ©

Ладно, не буду спорить, т.к. со статистикой дела не имел. Просто как-раз сейчас приходится заниматься оптимизацией - когда вьюхи/процедуры писались под одни данные, база выросла за годы во много раз, и запросы которые раньше летали приходится переделывать. И уменьшить время выполнения запроса с минут, на секунды, как правило, всегда удается.


 
irish   (2004-06-16 14:55) [10]

Ладно, ладно, шутники. Все поля не проиндексируешь, а сканирование одной таблицы по неиндексированному полю - 2,5 мин.
А за идею TThread спасибо!


 
Danilka ©   (2004-06-16 14:59) [11]

[10] irish   (16.06.04 14:55)

> Все поля не проиндексируешь

Почему? :))
По крайней мере те, по которым будет сортировка/фильтрация - запросто.


 
irish   (2004-06-16 15:11) [12]

Похоже, не все так просто. "Часики" все равно висят. И приоритет роли не играет...


 
irish   (2004-06-16 15:19) [13]

>Danilka ©
Информация накапливающегося характера
И что лучше: разместить больше информации или проиндексировать все поля? (а поиск может проводится по всем) :))



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2004.07.11;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.031 c
14-1087779761
Vasya.ru
2004-06-21 05:02
2004.07.11
RTF - чем хуже DOC а?


3-1087306069
Ertong
2004-06-15 17:27
2004.07.11
Номер записи


3-1087319298
irish
2004-06-15 21:08
2004.07.11
"подвисание" приложения во время выполнения запроса


14-1088109971
Ygeorchic
2004-06-25 00:46
2004.07.11
Картинки на тему: Химия, Физика, Математика...


14-1087955709
Думкин
2004-06-23 05:55
2004.07.11
С днем рождения! 23 июня





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский