Вниз
Скачать: 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.025 c
6-1100605094
V'ent
2004-11-16 14:38
2005.01.30
Удаленный доступ с сети!


4-1102589793
serg128
2004-12-09 13:56
2005.01.30
Как на WinAPI получить текущий день месяца?


1-1106078717
fru$t
2005-01-18 23:05
2005.01.30
Excel и Delphi


1-1105951569
slart
2005-01-17 11:46
2005.01.30
Inno Setup


4-1102597995
Timer
2004-12-09 16:13
2005.01.30
SystemTimer




   Наверх