Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.026 c
3-1103805952
XAdmin
2004-12-23 15:45
2005.01.30
Редактирование Gird с Lookup полем.


1-1105956189
dms_main
2005-01-17 13:03
2005.01.30
открытие файла


3-1103455885
aglar
2004-12-19 14:31
2005.01.30
DBGrid - цветные строки


6-1100461402
dimm
2004-11-14 22:43
2005.01.30
сеть под MSDOS


14-1105636003
Chuvak
2005-01-13 20:06
2005.01.30
Logo for Win




   Наверх