Главная страница
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.022 c
4-1102719140
pipll
2004-12-11 01:52
2005.01.30
Индикатор загрузки процессора


3-1103720485
}|{yk
2004-12-22 16:01
2005.01.30
Юзеры и работники


14-1105438926
NewDelpher
2005-01-11 13:22
2005.01.30
генератор 3D-моделей людей


1-1105599183
Itsme
2005-01-13 09:53
2005.01.30
Delphi7 + Excel XP


1-1106040793
hgd
2005-01-18 12:33
2005.01.30
Создание Dll с формой, а на форме есть ActiveX