Текущий архив: 2003.02.17;
Скачать: CL | DM;
ВнизТорможение IBX по сравнению с BDE Найти похожие ветки
← →
alehan (2003-01-31 17:45) [0]CGI-приложение открывает DataSet, отправляет клиенту первые 50 записей и закрывает DataSet. Даже если в запросе получалось несколько тысяч записей, через BDE всё работало достаточно быстро, но иногда глючело: периодически висло! Поэтому я решил осваивать новые для себя технологии.
Поменял TDataBase, TSession, TQuery на TIBDataBase, TIBTransaction, TIBQuery. Заработало сразу, но если в запросе получается много записей, тормозит пропорционально их количеству. В среднем в 2-3 раза медленнее BDE.
Код:
object IBDataBase1: TIBDatabase
DefaultTransaction = IBTransaction1
IdleTimer = 0
SQLDialect = 1
end
object IBQuery1: TIBQuery
Database = DB
Transaction = IBTransaction1
AutoCalcFields = False
CachedUpdates = False
UniDirectional = True
end
object IBTransaction1: TIBTransaction
DefaultDatabase = DB
Params.Strings = (
"read"
"read_committed"
"rec_version")
end
...
IBDataBase1.Open;
...
IBQuery1.Open;
k:=0;
while (not IBQuery1.EOF) and (k<50) do
begin
Response.Content:=Response.Content+IBQuery1.Fields[0].AsString+"<br>";
inc(k);
IBQuery.Next;
end;
IBQuery1.Close;
IBDataBase1.Close;
Подозрение, что он где-то на заключительных этапах делает IBQuery.FetchAll. Вот бы его отучить от этого....
Жду с нетерпением! Спасибо!
← →
Anatoly Podgoretsky (2003-01-31 17:53) [1]Где текст запроса
← →
alehan (2003-01-31 17:59) [2]Он таков:
select id, name, day from table1 where day>:day
причём в table1 порядка 100000 записей и существует индекс по полю day
← →
Anatoly Podgoretsky (2003-01-31 18:08) [3]Проверь поддерживает ли твоя версия IB предикат TOP n
← →
alehan (2003-01-31 18:16) [4]о! мне пришла мысль! напишу хранимую процедуру.
ни top ни first ни skip не работают
Спасибо!!!
← →
alehan (2003-01-31 18:36) [5]ой, нет, я сам себя обманул...
select id, name, day from table1 where day>:day
- это какбы упрощённая версия запроса, на самом деле он генериться динамически, хр.процедура тут не подойдёт
Страницы: 1 вся ветка
Текущий архив: 2003.02.17;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.01 c