Witam
Mam pytanie:
- na formatce IBDatabase, IBTransaction (read commited), IBStoredproc
- w bazie procka TEST, która ma w treści EXIT
Prockę z Delphika wywołuje 100 razy, po zmierzeniu czasu okazuje się że każde wywołanie to około 0.007 s. To dużo czy mało ?
Firebird 2.0.4 (teściłem też na 1.5.2 - to samo), zainstalowany na tej samej maszynie.
Dla mnie to dużo, bo potrzebuje wywoływać bardziej skomplikowaną prockę kilkadziesiąt tysięcy razy, co owocuje długim czekaniem.
//dopisane
Aha, prepare unprepare nic nie zmienia (zresztą jak się tego nie doda to IBX sam to zrobi)
//dopisane 2
Aha, w pierwszym czytaniu commitowałem po każdym wykonaniu ExecProc, jak całość ujmę w jedną transakcję to mam 0.001 ~ 0.002 s czyli dużo szybciej. No tak czy siak w realu commituje co 2000 rekordów. Pytanie czy da się coś więcej wycisnąć niż te 0.002 s ?
//dopisane 3
Eh, w tej rzeczywistej procce jest 65 parametrów. Każdy byłu ustawiany przez ParamByName('NAZWA').AsString := 'zzz' po zamianie na Params[x].AsString uzyskałem zmniejszenie czasu wywołania procki z 0.018 s do 0.006 s <- było o co walczyć (Aha wtedy trzeba parametry zaciągnąć do komponentu). W każdym razie jak macie jeszcze jakieś sposoby na wyciśnięcie z IBStoredProc jakichś dodatkowych zasobów mocy to chętnie wysłucham.