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

Вниз

Вызов Prepare для IBStoredProc не даёт эффекта   Найти похожие ветки 

 
oleg_p   (2004-12-23 11:29) [0]

Есть хранимая процедура без выходных параметров, которая используется для записи данных в базу и вызывается много-много раз (сотни тысяч) сильно тормозя . Делаю так (здесь SP - TIBStroredProc):

SP.Prepare // один раз
....
// Следующий код повторяется многократно:
SP.ParamByName("ID").AsInteger := ID;
SP.ParamByName("ASEC").AsInteger := ASEC;
SP.ParamByName("ABASE_YEAR").AsInteger := ABASE_YEAR;
SP.ParamByName("AVALUE").AsFloat := AVALUE;
SP.ExecProc;

Если убрать Prepare - время выполнения кода остаётся абсолютно тем же. Почему ???
Заметил что, после вызова ExeProc всегда Prepared = False, независимо от того, каким оно было до вызова.

Прошу вашей помощи !!! или дайте ссылку где почитать

Работаю в Delpi 7 IBX 6 Firebird 1.0.2.908


 
Соловьев ©   (2004-12-23 11:32) [1]

TIBStroredProc кажись она глюкавая.. Может 2-й сервис пак даст улучшения, но ХП можно(а наверное и нужно) дергать через IBSQL


 
Sergey13 ©   (2004-12-23 11:35) [2]

2oleg_p   (23.12.04 11:29)
ИМХО, ты не в ту сторону роешь. Имеет смысл переделать ХП так, что бы при однократном вызове он делала то, что сейчас делает за сотни тысяч раз.


 
Johnmen ©   (2004-12-23 11:39) [3]

>oleg_p  

Моё имхо - это глюкавость IBX в целом и TIBStroredProc в частности.


 
oleg_p   (2004-12-23 12:45) [4]

Заменил IBStoredProc на IBSQL - все заработало. СПАСИБО !



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

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

Наверх




Память: 0.47 MB
Время: 0.024 c
6-1099922658
Ivolg
2004-11-08 17:04
2005.01.30
Net Send


11-1087991509
Boris
2004-06-23 15:51
2005.01.30
Присваиваю TBButtonText - не работает :(


14-1105621345
Yorick1988
2005-01-13 16:02
2005.01.30
большая разница температур


1-1106085285
Bobby Digital
2005-01-19 00:54
2005.01.30
RichEdit


14-1105486256
DeadMeat
2005-01-12 02:30
2005.01.30
Все те же грабли...