Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.47 MB
Время: 0.017 c
1-52927
Шишкин Илья
2003-02-08 21:47
2003.02.17
Помогите с поиском файлов


1-53046
DmitryMN
2003-02-06 12:00
2003.02.17
Вывод в Excel


9-52698
pasha676
2002-09-13 09:28
2003.02.17
Пересечения 3D объектов


1-53012
Lev
2003-01-31 17:24
2003.02.17
Проблема с печатью на разных принтерах


1-52867
AlexanderSK
2003-02-07 18:07
2003.02.17
const в определении функции