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




Вниз

Проблема с IBQuery: подвисает приложение 


Vertigo   (2002-03-22 13:57) [0]

Суть проблемы: при выполнении запроса (база довольно большая, доступ по сетке) IBQuery подвешивает приложение. Выполнение запроса в отдельном Thread положения не меняет. Что делать? Помогите, пожалуйста.



Alexandr   (2002-03-22 14:03) [1]

как это "подвешивает приложение"
Это что, запрос долго выполняется?
И какую часть приложения подвешивает ( интерфеис или обращения к базе данных)



Vertigo   (2002-03-25 16:37) [2]

Подвешивается интерфейс



Fareader   (2002-03-25 17:35) [3]

Наверняка у тебя запрос либо очень сложный либо оооочень много данных пытается взять, поэтому твой интерфейс ни на что не реагирует. Попробуй вот что:
1. Возьми этот запрос засунь его в IbConsole, IBExpert или чем ты там пользуешься лучше в IBExpert и посмотри план запроса, может там индекс нужен.
2. Ограничь объем выбоки условиями.
3. используй поменьше подзапросов.



s.ts   (2002-03-25 20:48) [4]

можно посмотреть на SQL ?



Vertigo   (2002-03-26 17:39) [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 - полминуты :( Неужели ничего нельзя сделать (в смысле подвисания)?



Vertigo   (2002-03-26 17:41) [6]

Запрос не очень:
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. Не могу понять, почему.



Johnmen   (2002-03-26 17:43) [7]

Ничего...
Сделай индексы на PRICES.TINDEX и ORGANIZATIONS.TINDEX



Johnmen   (2002-03-26 17:45) [8]

А кто соединяется-то ?



Vertigo   (2002-03-27 12:00) [9]

Спасибо, попробую.
Соединяется IBDatabase при загрузке пограммы (свойство Connect присваивается True)




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




Наверх





Память: 0.73 MB
Время: 0.017 c
14-57840          lel                   2002-03-07 11:00  2002.04.18  
ИЗЫСКАHHЫЕ КОМПЛИМЕHТЫ ДАМАМ


7-57904           МАРАТ                 2002-01-23 09:27  2002.04.18  
термо-принтер


1-57794           DMA                   2002-04-06 13:30  2002.04.18  
Координаты курсора мыши


1-57748           PVOzerski             2002-04-05 13:30  2002.04.18  
Dynamic-методы в объектах старого стиля - что это такое изнутри?


1-57665           VID                   2002-04-03 23:02  2002.04.18  
Чтение значения переменной, созданной другой программой