![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема с ;IBQuery: подвисает приложение [D6, IB6.x]
Vertigo © (2002-03-22 13:57:00)Суть проблемы: при выполнении запроса (база довольно большая, доступ по сетке) IBQuery подвешивает приложение. Выполнение запроса в отдельном Thread положения не меняет. Что делать? Помогите, пожалуйста.
Vertigo (2002-03-27 12:00:00) [1]Спасибо, попробую.
Соединяется IBDatabase при загрузке пограммы (свойство Connect присваивается True)
Johnmen (2002-03-26 17:45:00) [2]А кто соединяется-то ?
Johnmen (2002-03-26 17:43:00) [3]Ничего...
Сделай индексы на PRICES.TINDEX и ORGANIZATIONS.TINDEX
Vertigo (2002-03-26 17:41:00) [4]Запрос не очень:
select PRICES.TINDEX,ORGANIZATIONS.ORGTYPE,ORGANIZATIONS.NAME,ORGANIZATIONS.EMAIL,PRICES.PREFIX,PRICES.POSTPREFIX,PRICES.BODY,PRICES.SUFFIX,PRICES.COMMENT,PRICES.PRICE,PRICES.CURRENCY,PRICES.CATEGORY,
PRICES.PRDATE,PRICES.AMOUNT from PRICES,ORGANIZATIONS where PRICES.TINDEX=ORGANIZATIONS.TINDEX and BODY="312" order by PRICES.TINDEX;
IBConsole колбасит его 14сек, IBQuery - полминуты :( Неужели ничего нельзя сделать (в смысле подвисания)?
Кстати, соединяется с базой тоже секунд 20. Не могу понять, почему.
Vertigo (2002-03-26 17:39:00) [5]Запрос не очень:
select PRICES.TINDEX,ORGANIZATIONS.ORGTYPE,ORGANIZATIONS.NAME,ORGANIZATIONS.EMAIL,PRICES.PREFIX,PRICES.POSTPREFIX,PRICES.BODY,PRICES.SUFFIX,PRICES.COMMENT,PRICES.PRICE,PRICES.CURRENCY,PRICES.CATEGORY,
PRICES.PRDATE,PRICES.AMOUNT from PRICES,ORGANIZATIONS where PRICES.TINDEX=ORGANIZATIONS.TINDEX and BODY="312" order by PRICES.TINDEX;
IBConsole колбасит его 14сек, IBQuery - полминуты :( Неужели ничего нельзя сделать (в смысле подвисания)?
s.ts (2002-03-25 20:48:00) [6]можно посмотреть на SQL ?
Fareader (2002-03-25 17:35:00) [7]Наверняка у тебя запрос либо очень сложный либо оооочень много данных пытается взять, поэтому твой интерфейс ни на что не реагирует. Попробуй вот что:
1. Возьми этот запрос засунь его в IbConsole, IBExpert или чем ты там пользуешься лучше в IBExpert и посмотри план запроса, может там индекс нужен.
2. Ограничь объем выбоки условиями.
3. используй поменьше подзапросов.
Vertigo (2002-03-25 16:37:00) [8]Подвешивается интерфейс
Alexandr (2002-03-22 14:03:00) [9]как это "подвешивает приложение"
Это что, запрос долго выполняется?
И какую часть приложения подвешивает ( интерфеис или обращения к базе данных)