Subject Re: [IBO] Speed up reading every row in an TIB_Cursor
Author Marco Krause
> AutoFetchAll seems not to work, when the IBO-Controls are used within a thread.
> (The thread owns a TIB_Sessios, which itselfs owns a TIB_Connection, a TIB_Transaction and
> a TIB_Cursor). The software seems to hang after a few rows are fecthed.

Try to set TIB_Cursor.CallbackInc to -1 or 0 (no fetching window is displayed)

IMHO the fetching window don't work in threads...

BTW: If you need performance and you are using select/insert statements like 'select a,b,c,d,e,f
from x' with many records then take a look at your source: You get much better performance
if you get the fields from the cursor in the same order:

with TIB_Cursor do begin
dummy := FieldByName('a').AsString;
dummy := FieldByName('b').AsString;
dummy := FieldByName('c').AsString;
dummy := FieldByName('d').AsString;
end;

Example:

One of my querys (table scan over 130000 records with 15 calls to IB_Cursor.FieldByName)
runs in 60 seconds. With this modification in the source of IBO it tooks only 23 seconds!

You need IBO >= 4.2Hd to use this feature.

--
Marco Krause