Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.04.08;
Скачать: CL | DM;

Вниз

IB7.1 очень большой расход памяти сервером   Найти похожие ветки 

 
Один   (2007-03-16 16:03) [0]

1.
function Query(const Q: String): TIbDataset;
var iTrn: TIbTransaction;
begin

 if (cfmDesktop<>nil) then begin
   cfmDesktop.imConnect.Show;
   cfmDesktop.imConnect.Update;
 end;
 iTrn := TIbTransaction.Create(nil);
 iTrn.DefaultDatabase := dmGlobal.ibDatabase;
 Result := TIbDataSet.Create(nil);
 Result.Database := dmGlobal.ibDatabase;
 Result.Transaction := iTrn;
 Result.SelectSQL.Text := Q;
 Result.Active :=True;
 try
   Result.Prepare;
 except
   Result.Close;
 end;
 if (cfmDesktop<>nil) then cfmDesktop.imConnect.Hide;
end;


2.
function FinalizeQuery(var iDS: TIbDataSet): Boolean;
begin
 Result := True;
 try
   iDS.Close;
   iDS.Free;
 except
   Result := False;
 end;
end;


Подскажите, пожалуйста. Может быть, я где-то не завершаю верно запрос к БД? Пока записей в БД 100-200 ещё терпимо, но больше 200 - жутко медленная работа + разрастание ibserver.exe до 100-150 Мбайт при каждом запросе...


 
Desdechado ©   (2007-03-16 16:12) [1]

Все зависит от запроса и структуры данных.

ЗЫ var iDS: TIbDataSet - зачем тут VAR ?


 
DrPass ©   (2007-03-16 16:13) [2]


> try
>    Result.Prepare;
>  except
>    Result.Close;
>  end;

Как минимум, убрать нафиг. Насчет почему столько памяти жрет - неизвестно. Впрочем, мне еще не приходило в готову вызывать prepare после открытия датасета :)


 
Крик   (2007-03-16 16:15) [3]


> Все зависит от запроса и структуры данных.

а поподрбнее?


> убрать нафиг.

а можно начинающим подсказать, как правильно датасет обрабатывать? :-)


 
Desdechado ©   (2007-03-16 16:54) [4]

Нарушение п.5 правил: "Запрещается Преднамеренное использование разных ников в одной ветке."

> поподрбнее?
Это к тебе вопрос.


 
Sergey13 ©   (2007-03-16 17:00) [5]

> [0] Один   (16.03.07 16:03)

А какой смысл во всей этой бодяге? Почему нельзя просто выполнить запрос там, откуда это вызывается?


 
Один   (2007-03-17 07:57) [6]

Desdechado это не преднамеренное... в куках сохранилось, да и какая разница!
Sergey13 Потому что хотелось какой-то универсальности в выполняемости запросов... Форм много, и писать много код как-то не хочется. Разве так нельзя?



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

Текущий архив: 2007.04.08;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.029 c
15-1173686090
DevilDevil
2007-03-12 10:54
2007.04.08
FastRound(). Жуть какая :)


15-1173769753
Чапаев
2007-03-13 10:09
2007.04.08
Увольнение по собственному желанию


8-1154522615
lyberzon
2006-08-02 16:43
2007.04.08
Функция извлечения цветов из BMP в массив


15-1173557565
DVM
2007-03-10 23:12
2007.04.08
Полный список Win32 версий Windows. Все ли я перечислил?


15-1173974684
Megabyte
2007-03-15 19:04
2007.04.08
Что выбрать: VS.NET или Delphi2006.NET?